全部发生,
我正在尝试编写一个shell脚本来运行程序并在它们之间发送一系列延迟信号。我写了下面的代码。
#!/bin/sh
KNOCK="KNOCK"
export KNOCK
./knock &
knockPID=$!
kill -SIGUSR2 $knockPID
kill -SIGUSR2 $knockPID
kill -SIGUSR1 $knockPID
sleep 2s;
kill -SIGUSR1 $knockPID
kill -SIGUSR2 $knockPID
我不断为每个kill命令
收到以下错误kill: Illegal option -S
感谢您的帮助。
答案 0 :(得分:1)
通常,kill
命令的命名信号参数为"recognized in a case-independent fashion, without the SIG prefix"。所以,你想要:
kill -USR1 $knockPID
等等。
答案 1 :(得分:0)
kill -s SIGUSR2 $knockPID
应该适用于所有现代操作系统。
答案 2 :(得分:0)
我也遇到了这个问题,我使用不同的shell修复了它:
#!/bin/bash