如何在 bash 中杀死另一个脚本,如果它已经在运行



我的Raspberry Pi上有一个硬件按钮。如果我按下它,就会调用脚本handle.sh,它会调用另一个名为do.sh的脚本。如果我再按一下这个按钮,我想杀死do.sh。我的愿望是切换剧本。第一次按下运行do.sh,第二次按下退出此脚本。

我的想法是得到do.sh的PID。如果已经存在do.sh的实例,则handle.sh应该终止do.sh的进程。

我的伪代码:

handle.sh

if do.sh not running {
run do.sh
} else if do.sh is running {
kill do.sh
// do more stuff
}

do.sh

echo date
arecord -D hw:3,0 -f cd -r 44100 test.wav

像这样:

if pgrep -f do.sh &>/dev/null; then
pkill -f do.sh
// do more stuff
else
./do.sh
fi

相关内容

  • 没有找到相关文章

最新更新