[Linux] 使用 Job ID 來處理送到背景的 process

[Linux] 使用 Job ID 來處理送到背景的 process

偶爾會在 Linux 上遇到一些狀況,程式沒有反應,按 Ctrl-C 也沒辦法結束,

通常解決方法就是按下 Ctrl-Z 將程式送到背景去,

再用 ps 找出剛才送到背景的程式的 process id,再用 kill 把它殺掉~

不過這個動作實在是太麻煩了…

 

查了一下,原來 Linux 本來就有 Job ID 這個東西,每一個被送到背景去的程式都有一個 Job ID~

舉例來說,假設我們執行 sleep 這個指令,

接著按下 Ctrl-Z 將 sleep 這個程式送到背景去:

testuser@localhost ~ $ sleep 60
^Z
[1]+  Stopped                 sleep 60

 

可以看到這裡有個 [1],代表它的 Job ID 是 1,

因此接下來可以用 %1 來代表它的 process id 來 kill 它:

testuser@localhost ~ $ kill %1
[1]+  Terminated              sleep 60

 

算是一個蠻有用的小技巧囉~^^

 

參考資料:How to get the Job ID?

(本頁面已被瀏覽過 110 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料