Как запустить программу как услугу (беззвучно)?

У меня есть сервер на основе python, который я запускаю с терминала. Этот конкретный экземпляр терминала затем дает контроль над программой, и программа использует его как своего рода окно регистрации, пока оно не будет закрыто. Является ли это нормальным, или я должен как-то попытаться запустить программу каким-либо другим способом, в котором она будет просто отображаться как активный процесс? Если я закрою терминал, с которого я начал программу, программа умирает с ним.

Спасибо

1
задан 22 September 2012 в 17:08

9 ответов

Поверните его к демона (службы) daemon --name="yourservicename" --output=log.txt sh yourscript.sh

24
ответ дан 25 May 2018 в 06:15
$ servicename &

Использование & заставляет программу работать в фоновом режиме, а не блокировать оболочку до завершения программы.

4
ответ дан 25 May 2018 в 06:15

Вы также можете использовать:

start-stop-daemon -SbCv -x your_command

здесь скрипт init.d для запуска и остановки программы в фоновом режиме.

1
ответ дан 25 May 2018 в 06:15

С терминала вы также можете запустить screen или выполнить команду с помощью &. Легкий способ запуска непрерывных процессов.

0
ответ дан 25 May 2018 в 06:15
  • 1
    просто используя & для фонового процесса, в этом случае мало, на мой взгляд. OP заявляет, что его сервер регистрируется на stdout, поэтому с & его терминал будет загроможден выходом. Кроме того, поскольку OP упоминает , закрывая терминал , OP не сможет снова выполнить предварительный цикл процесса, и весь лог-вывод будет потерян. Лучше, по крайней мере, перенаправить его в файл журнала или придерживаться установки screen, но затем, пожалуйста, объясните основы screen для OP (отсоединить / прикрепить / etc) – Robert Riedl 9 February 2018 в 11:55

Поверните его к демона (службы) daemon --name="yourservicename" --output=log.txt sh yourscript.sh

24
ответ дан 25 May 2018 в 06:15

Поверните его к демона (службы) daemon --name="yourservicename" --output=log.txt sh yourscript.sh

24
ответ дан 25 May 2018 в 06:15

Поверните его к демона (службы) daemon --name="yourservicename" --output=log.txt sh yourscript.sh

24
ответ дан 25 May 2018 в 06:15

Поверните его к демона (службы) daemon --name="yourservicename" --output=log.txt sh yourscript.sh

24
ответ дан 25 May 2018 в 06:15

Поверните его к демона (службы) daemon --name="yourservicename" --output=log.txt sh yourscript.sh

24
ответ дан 25 May 2018 в 06:15

Другие вопросы по тегам:

Похожие вопросы: