網頁

2013年2月22日 星期五

kill,killall,pkill,skill,watch 指令


  • kill指令
    • 對process傳遞訊號(signal),通常我們使用此指令來停止或是中斷程序,而該process接收到我們所給的signal,則會因為我所給的signal有不同的反應。例如我們給 -9 這樣的signal,所有類型的程序接收到這樣的訊號都會被獨迫中斷,若是我們給 -1 的signal,則會重新啟動。
      • 指令語法:kill [signal] process_id
    • 查看所有訊號
      • kill -l

[1]+  Stopped                 vim
canred@canred:~/test$
canred@canred:~/test$
canred@canred:~/test$
canred@canred:~/test$ jobs
[1]+  Stopped                 vim
canred@canred:~/test$ ps aux | grep vim
canred    7681  0.0  0.0  10924  3480 pts/0    T    23:42   0:00 vim
canred    7683  0.0  0.0   4412   840 pts/0    S+   23:43   0:00 grep --color=auto vim
canred@canred:~/test$ kill 7681
canred@canred:~/test$ ps aux | grep vim
canred    7681  0.0  0.0  10924  3480 pts/0    T    23:42   0:00 vim
canred    7686  0.0  0.0   4412   844 pts/0    S+   23:45   0:00 grep --color=auto vim
canred@canred:~/test$ kill 7681
canred@canred:~/test$ jobs
[1]+  Stopped                 vim
canred@canred:~/test$ kill -9 7681
canred@canred:~/test$ jobs

有時需要讓一個進程停止執行,這時可以使用信號19掛起進程

  • 常用的信號表:
    • 9)SIGKILL:強制移除
    • 15)SIGTERM:使用軟件終止方法
    • 19)SIGSTOP:暫停
    • 18)SIGCONT:繼續
  • 其實我們常常對程式送出信號,如程序執行中,我們要中斷程式就會按下CTRL+C,此時就會送出一個中斷信號。另外在程序執行中,我們按下CTRL+Z則是送出一個暫停信號(信號19)


-------------------------------------------------------------------------------------------------------
killall 指令,用來刪除一個進程,刪除一依據是根據進程的名稱哦
Step 1 . killall vim

Or 
killall -l 可以查詢訊號的種類
-------------------------------------------------------------------------------------------------------

pkill指令,用來刪除一個進程,刪除一依據是根據進程的名稱
Step 1 . pkill vim
-------------------------------------------------------------------------------------------------------
skill 指令,將指定的進程發送發號

step 1. ps aux | grep vim

setp 2. skill 進程號

-------------------------------------------------------------------------------------------------------
watch 指令以週期性的方式來查看執行的輸出結果
    step 1. watch -d ls /root
               以上指令於監看 root 資料夾的清單列表功能
         
----編輯紀錄

  • 2013/4/22
    • 新增:
      • kill的信號資訊






沒有留言:

張貼留言