我正在使用 暂停终端脚本SIGSTOP
,并且希望它打印一条消息,表明它正在暂停。
SIGSTOP
,我尝试SIGUSR1
在 之前发送 aSIGSTOP
并捕获它,但是我放入陷阱的命令最终在脚本恢复后被执行。sleep
之间放置a ,则会执行 trap 命令,但脚本会在收到 之前运行一段时间。SIGUSR1
SIGSTOP
SIGSTOP
有没有一种方法可以让我从外部告诉我的脚本回显“我正在暂停”,然后立即停止?
编辑:我正在使用 bash。我的测试脚本只是:
trap "echo Paused" SIGUSR1
trap "echo Restarted" SIGCONT
while : ; do
echo `date`
sleep 1
done
Run Code Online (Sandbox Code Playgroud)
我称之为“./blah.sh”。
我的控制脚本是:
script_id=`pidof -x blah.sh`
kill -SIGUSR1 $script_id
sleep 0.5
kill -SIGSTOP $script_id
sleep 2
script_id=`pidof -x blah.sh`
kill -SIGCONT $script_id
Run Code Online (Sandbox Code Playgroud)