【Linux疑難雜症】終止程序(kill process)的關鍵密碼

2023/09/11閱讀時間約 2 分鐘
圖片來源

圖片來源

我們執行應用程式的時候,如果應用程式存在著BUG導致系統沒有回應時,在Windows體系之下我們可以用「Ctrl + Alt + Delete」開啟工作管理員並找到該程式進行強制終止,但Linux呢? 我們來看看究竟要如何下指令來強制終止吧!

第一式: 逐個突破

我們的程式發生問題導致系統延宕時,通常在UI上會卡頓無法進行任何動作,但終端機卻是有機會的,因此我們可以透過終端機命令來找出我們的目標,那怎麼找呢? 。

htop是一種在Linux非常好用的監控工具,可以幫我們監控哪隻程式使用的CPU或記憶體過高,因此我們可以先鍵入「htop」在點擊CPU排序出高使用量的程序,接著我們就可以找到PID欄位,並記住該值。

圖片來源

圖片來源

接著我們可以用「kill」指令來中止進程。

kill ${PID}

第二式: 當Port被佔用時

假設我們知道我們程式占用的port是xxx,此時可以這樣做:

sudo netstat -lpn |grep :5005
圖片來源

圖片來源

從上面結果我們得出「44082」, 因此我們可以使用Linux的kill來關掉該進程。

kill 44082

第三式: 自動精準打擊

假設我們很清楚程式的名稱, 例如我們開發了一個 my-powerful 的程式, 那麼我們可以這麼做, 就不用像上面的步驟, 需要先找出目標, 確認目標後, 再執行動作…。

killall my-powerful 

結語

使用Linux的時間也有好一陣子了, 常常我們在開發的過程中不小心寫了BUG就讓程式佔用到我們系統資源, 此時想要強制中止時, 通常就是htop看一看, 哪個高, 再找到我們的程式, 記住PID之後再kill, 但有點冗餘, 因此我們可以使用一些技巧來進行, 就如上述, 如果您有更好的方法歡迎留言提供給我們。


您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的軟體開發起手式, 成為Top 1的頂尖人才。

91會員
260內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
發表第一個留言支持創作者!