Предположим, у меня есть скрипт «script1.sh», и я хочу выполнить его как демон с помощью nohup и &, и заставить его «ждать» сигнала. Как мне это сделать?
В bash
PID самого последнего процесса фоновой обработки сохраняется в $!
:
nohup <command> & pid=$!
. Для отправки процессу сигнала можно использовать kill
:
kill -<signal> <pid>
[ 119] Положить кусочки вместе, чтобы начать, например, фоновый процесс watch -n1 echo foo
и отправка его, например, сигнал SIGTERM позже:
nohup watch -n1 echo foo & pid=$!
# ...
kill -15 $pid