如何殺死特定的Find命令?

如何殺死特定的Find命令?

我試圖終止的特定 find 命令正在用戶創建的腳本內運行?

我創建了一個腳本,其中包含一個運行長達 10 分鐘的 find 命令,在我再次運行相同的腳本之前,它需要終止該 find 命令。

答案1

正規表示式

您可以pgrep-a開關一起使用:

pgrep -a find

它將為您提供完整的命令列以及進程 ID:

10838 find / -iname png
10839 find / -iname jpg

然後你可以決定是否要殺死它:

kill 10838

會殺死 png 的。

殺戮

你也可以pkill這樣使用:

pkill -x "find / -iname png"

-x意義:僅符合其名稱的進程。

尋找子進程:

使用樹來查找您想要的進程,假設您的腳本名稱是“script.sh”,您可以使用pgrep -f script它來查找它,然後將輸出傳遞給以pstree獲取其子進程的列表,並終止作為腳本子進程的查找進程。

$ pstree -p $(pgrep -f script)
bash(10915)───find(10916)
$ kill 10916

相關內容