2015-09-18 4 views
0

У меня есть скрипт slp.sh, который является просто командой сна. Мне нужно запустить этот скрипт, используя другой скрипт под названием trigger.sh. после запуска slp.sh, необходимо проверить статус slp.sh (он запущен или нет)Как использовать команду nohup в сценарии оболочки

для этого я использовал команду «nohup sh slp.sh &» в скрипте trigger.sh, но я не в состоянии контролировать текущий статус slp.sh, так как выполнение скрипта было остановлено, как «поЬир: добавление вывода в` nohup.out»»

ответ

0

nohup прекращается, как только slp.sh завершается, так что вы можете просто проверить, является ли nohup процесс все еще жив. Вы можете сделать это, используя, например, kill -0. Должно работать на практике (Баш, по крайней мере):

nohup sh slp.sh & 
LASTPROCESS=$! 
... 
if kill -0 $LASTPROCESS; then echo still running; else echo has terminated; fi 
+0

если мы используем «поЬир ш slp.sh> app.out 2> App.error и» выполнение будет продолжаться до следующей строки. то мы можем проверить, работает ли процесс «slp.sh» или нет –

Смежные вопросы