kill與pkill的區別

愛吃丶辣包發表於2020-10-07
  1. 用kill來殺死某一個程式
    #kill,加選項-9,加PID,表示殺死程式編號為PID的這個程式
    #-1 重啟
    #kill -9 PID
    #下面表示殺死程式PID為2899的程式
    [root@localhost ~]# kill -9 2899

  2. 用pkill踢出某個終端
    #pkill,加選項-9,加終端號,表示踢出該終端
    #-1 重啟
    #pkill -9 pts/0
    #下面表示提出我的遠端登入終端pts/0
    [root@localhost ~]# pkill -9 pts/0

首先說一下kill命令,直接用kill,只能把程式結束,不會把PID檔案刪除,PID檔案仍然保留
PID保留下來的話 ,下次restart重啟會發現,起不來。
起不來原因: 啟動的時候,重新生成一個程式號,與前面一個PID檔案重複了,出現衝突起不來。
解決: kill -9 結束程式 再用rm -rf刪掉PID,再起就可以執行了。

而pkill都是使用命令名來終止程式的有效手段,它們不同於kill通過pid來殺死程式的方式,它可以理解為成批成批的殺死程式,當然這麼做的危險性也相對提高了不少。當然它們也可以給程式傳送相應的終止訊號。
比如我們要殺死mysql的相關程式,我們可以使用pkill -9 mysqld即可殺死所有mysql相關的程式,比較方便,不過它有可能會誤刪程式。

相關文章