Фоновые процессы

У меня есть сценарий, который нужно запустить в фоновом режиме, если я запускаю тот же сценарий на переднем плане, сценарий работает хорошо и не останавливается, пока мы не прервем его вручную (ctrl^c).

Я уверен, что приведенная ниже команда запустит скрипт в фоновом режиме.

sudo -u webs ./spagent_L1 &

После выполнения вышеуказанной команды будет выдан номер задания и номер процесса.

[1] 10118

И сразу после этого, если я нажму Enter два раза, задание будет остановлено.

[1]+ Stopped    sudo -u webs ./spagent_L1

Если я проверю задания, выполняемые в фоновом режиме, то выяснится, что задание было остановлено.

$> jobs
[1]+ Stopped    sudo -u webs ./spagent_L1

В то время как если я проверю запущенный процесс, он покажет, что вышеупомянутый скрипт запущен.

$> ps -eo user,ppid,pid,cmd,state | grep -i spagent
root 10118 9383 0 05:42 pts/1 00:00:00 sudo -u webs ./spagent_L1 T
ape  10122 3983 0 05:42 pts/1 00:00:00 grep -i spagent R

Пока я не убью процесс 10118, команда jobs показывает, что процесс остановлен. Как только процесс убит, команда jobs ничего не выдает.

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

Заранее спасибо.

0
26.07.2017, 15:26
1 ответ

Вы можете запустить скрипт в фоновом режиме, выполнив:(sudo -u webs./spagent_L1 &)после этого вы сможете закрыть терминал (, если вы находитесь в DE ), не закрывая этот скрипт.

0
28.01.2020, 04:43

Теги

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