Command-Line
如何終止後台程序?
我已經在後台使用
&
. 突然停止下載。我想終止它的程序,然後重新執行命令。我怎樣才能終止它?我還沒有關閉它的外殼視窗。但如您所知,它不會停止使用
Ctrl
+C
和Ctrl
+Z
。
有很多方法可以解決這個問題。
方法 #1 - ps
您可以使用該
ps
命令找到該程序的程序 ID,然後使用 PID 殺死該程序。例子
$ ps -eaf | grep [w]get saml 1713 1709 0 Dec10 pts/0 00:00:00 wget ... $ kill 1713
方法 #2 - pgrep
您還可以使用 查找程序 ID
pgrep
。例子
$ pgrep wget 1234 $ kill 1234
方法 #3 - pkill
如果您確定它是
wget
您唯一執行過的,您可以使用該命令pkill
按名稱終止作業。例子
$ pkill wget
方法#4 - 工作
如果您在執行現在後台作業的同一 shell 中。您可以使用該
jobs
命令檢查它是否仍在執行,也可以通過其作業編號將其殺死。例子
我的假工作,
sleep
。$ sleep 100 & [1] 4542
找到它的工號。**注意:**數字 4542 是程序 ID。
$ jobs [1]+ Running sleep 100 & $ kill %1 [1]+ Terminated sleep 100
方法 #5 - fg
fg
您可以使用該命令將後台作業帶回前台。例子
假工作,
sleep
。$ sleep 100 & [1] 4650
獲取工作編號。
$ jobs [1]+ Running sleep 100 &
將工作 #1 帶回前台,然後使用
Ctrl
+C
。$ fg 1 sleep 100 ^C $