LINUX.ORG.RU
решено ФорумAdmin

Как поставить в автозапуск Centos5 свою программу?


0

1

Нужно, чтобы при перезагрузке моя программа автоматически запускалась, но не от рута, а другого пользователя. Я так понимаю, что нужно писать что-то типа этого: http://werxltd.com/wp/2012/01/05/simple-init-d-script-template/ но еще туда воткнуть какой-нибудь «sudo»?


Ответ на: комментарий от darkenshvein

/etc/rc.local то что там прописано разве не от рута запускается?

Я тут не местный, может веткой ошибся?

kzv
() автор топика
Ответ на: комментарий от kzv
su puma -c "/bin/puma"

Пример запуска puma от юзера puma.

Инитскрипт вообще нужен для возможности запуска на разных init level, проверки статуса, перезапуска и т.д.

invokercd ★★★★
()
Последнее исправление: invokercd (всего исправлений: 2)
Ответ на: комментарий от selivan

Вроде работает, но как-то криво...

Запущенный таким образом процесс, почему-то не может ни читать ни модифицировать файлы из юзера из под которого запущен.

kzv
() автор топика
Ответ на: Вроде работает, но как-то криво... от kzv

Надо как-то чтобы перед запуском текущая директория менялась на ту, в которой находится запускаемый файл.

Обычно, без автозапуска, я запускаю так:

login as: root

root@langtest.ru's password:

[root@langtest ~]# su kzv

[kzv@langtest root]$ cd /home/kzv/testserver/server

[kzv@langtest server]$ nohup ./test_server.exe

Наверно лучше написать шел скрипт, и запускать его в автозапуске?

kzv
() автор топика
Ответ на: комментарий от kzv

менялась на ту, в которой находится запускаемый файл.

*/1 * * * * user pgrep test_server.exe || ( cd /home/kzv/testserver/server ; nohup ./test_server.exe )

vxzvxz ★★★
()
Ответ на: комментарий от vxzvxz

нозачем каждую минуту, если в vixie-crontab умеет
@reboot /path/to/prog

bl ★★★
()
Ответ на: комментарий от af5

Написал скрипт. Что-то не работает ((

В директории юзера написал скрипт autorun.sh

#!/bin/sh

su kzv

killall test_server.exe

cd /home/kzv/testserver/server

./test_server.exe

в /etc/rc.local написал:

su kzv -c /home/kzv/autorun.sh

После перезагрузки в процессах юзера висит только autorun.sh

Где ошибка?

kzv
() автор топика
Ответ на: комментарий от af5

Спасибо!

su kzv из скрипта убери

Помогло, правда скрипт продолжал висеть в процессах.
Сделал

nohup ./test_server.exe &
и все заработало как надо!

kzv
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.