Debian, фоновый автозапуск

12
Segey
На сайте с 23.08.2005
Offline
404
2064

Нужно в атозапуск поставить программу, так чтобы она фоново работала, делают так:

/usr/sbin/play -arg > /dev/null &

Все работает, хотел добавить в /etc/rc.local чтобы стартовала при запуске (и не возится со всяким), но не хочет при автозапуске стартовать в таком виде, а из консоли стартует, можно как-то его заставить работать ? :)

Brexit - уже совсем рядом. (https://about-this-model.blogspot.com/2019/03/brexit.html)
zexis
На сайте с 09.08.2005
Offline
388
#1

Когда вы выходите из консоли программа продолжает нормально работать запущенная таким образом?

/usr/sbin/play -arg > /dev/null &

Что бы программа работала в фоновом режиме, она должна поддерживать работу в виде демона. Об этом лучше прочитать в документации на программу.

Segey
На сайте с 23.08.2005
Offline
404
#2
zexis:
Когда вы выходите из консоли программа продолжает нормально работать запущенная таким образом?
/usr/sbin/play -arg > /dev/null &

Это демон (по карйней мере так называется) в комплекте с программой, но сам он фоново отказывается запускаться из консоли, только так

Хотя по моему это то же скрипт что и остальные

M
На сайте с 16.09.2009
Offline
278
#3
Segey:
Все работает, хотел добавить в /etc/rc.local чтобы стартовала при запуске (и не возится со всяким), но не хочет при автозапуске стартовать в таком виде, а из консоли стартует, можно как-то его заставить работать ? :)

Можно. И для этого всего-то - достаточно узнать *почему именно* не стартует. Удивил?

Направьте stderr/stdout в файл, а не в /dev/null - и читайте что вам программа пишет при старте.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Segey
На сайте с 23.08.2005
Offline
404
#4

myhand,

Немного да правда, она мне честно доложила как она называется и все

P
На сайте с 08.03.2007
Offline
250
#5

Может не хочет под рутом запускаться?

Тут один товарищ задал конкретный вопрос, а ответа на него так и не получил.

M
На сайте с 16.09.2009
Offline
278
#6
Segey:
Немного да правда, она мне честно доложила как она называется и все

Как именно вы ее запустили?

Pilat:
Тут один товарищ задал конкретный вопрос, а ответа на него так и не получил.

Ответ был дан выше - выясни почему не запускается, а не гадай.

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

Segey
На сайте с 23.08.2005
Offline
404
#7
myhand:
Как именно вы ее запустили?

/usr/sbin/play -arg > /home/user/1 &

а там:

I'am play v 1.1.1

Pilat:
Может не хочет под рутом запускаться?

да нет, под рутом с консоли запускается

M
На сайте с 24.10.2011
Offline
173
#8

Segey, можно попробовать запускать в screen

M
На сайте с 16.09.2009
Offline
278
#9
Segey:
/usr/sbin/play -arg > /home/user/1 &
а там:
I'am play v 1.1.1

Ну вот. А stderr в файл не перенаправили. Прочитайте man bash.

Segey:
да нет, под рутом с консоли запускается

Ну, как писали выше - следующая возможная причина это отказ запускаться не с терминала. Как вам уже посоветовали - попробуйте запустить программу в screen.

P
На сайте с 08.03.2007
Offline
250
#10
myhand:
Ну вот. А stderr в файл не перенаправили. Прочитайте man bash.
Ну, как писали выше - следующая возможная причина это отказ запускаться не с терминала. Как вам уже посоветовали - попробуйте запустить программу в screen.

Демон - это программа, которая как-то откреплена от терминала. Либо она это умеет делать, тогда она должна запускаться при правильных правах доступа, если не запускается то проблема в правах. Если открепляться от терминала не умеет, то это вообще не демон, надо программу демонизировать, например запустить через nohup (man nohup, там три строки полностью описывают проблему и решение).Проверка умеет или нет открепляться сама от терминала - программа остаётся в памяти после завершения сессии, в которой она была запущена, что и предлагалось сделать в качестве диагностики. screen - это вообще не решение и с какой целью его в данном случае запускать не очень понятно. stderr/stdout перенаправлять в файл недостаточно.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий