【发布时间】:2016-04-30 19:08:49
【问题描述】:
我有一个需要经常启动的 shell 脚本。我可以将快捷方式设置为启动(我用来启动)但不能终止。我需要 Ctrl+C 来终止它。结果有时最终会打开许多进程。
所以我想做的是在脚本中添加一些命令,检查脚本中的旧进程是否存在并杀死它然后启动新进程。
为了让我的要求更清楚,我尝试了以下
说运行脚本是/home/user/runscript.sh。ps aux | grep runscript.sh给我
user+ 6135 0.0 0.0 16620 1492 ? S 18:28 0:00 /home/user/runscript.sh
user+ 6208 0.0 0.0 15936 952 pts/6 R+ 18:28 0:00 grep --color=auto runscript.sh
我在脚本中添加了以下内容
pkill -f runscript.sh
如果进程已经在运行,则终止该进程。它解决了杀死旧进程但没有让新进程启动的目的。原因很明显,后来我明白了。
这样做的正确方法是什么?
【问题讨论】:
标签: linux bash shell terminate