我有一個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
下殺過程中,如果它已經在運行。它解決了殺死舊流程的目的,但沒有讓新流程開始。原因很明顯,後來我明白了。
這樣做的正確方法是什麼?
感謝您的詳細解釋。我可以想到這樣的行爲,但想知道是否存在可以做到這一點的一些命令或單行命令組合。 –
這確實是要走的路。我建議你進一步閱讀[ProcessManagement](http://mywiki.wooledge.org/ProcessManagement) –