歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux中的kill詳解

Linux中的kill詳解

日期:2017/2/28 13:47:43   编辑:Linux教程

無論你使用哪種操作系統,你一定會遇到某個行為失常的應用,它把自己鎖死並拒絕關閉。在Linux(還有Mac),你可以用一個"kill"命令強制終結它。在這個教程中,我們將展示給你多種方式使用"kill"命令終結應用。

Kill命令和信號

當你執行一個"kill"命令,你實際上發送了一個信號給系統,讓它去終結不正常的應用。總共有60個你可以使用的信號,但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)。

你可以用這個命令看到所有信號的列表:

kill -l

·SIGTERM - 此信號請求一個進程停止運行。此信號是可以被忽略的。進程可以用一段時間來正常關閉,一個程序的正常關閉一般需要一段時間來保存進度並釋放資源。換句話說,它不是強制停止。

·SIGKILL - 此信號強制進程立刻停止運行。程序不能忽略此信號,而未保存的進度將會丟失。

使用"kill"的語法是:

kill [信號或選項] PID(s) 默認信號(當沒有指定的時候)是SIGTERM。當它不起作用時,你可以使用下面的命令來強制kill掉一個進程:

kill SIGKILL PID 或者

kill -9 PID 這裡"-9"代表著SIGKILL信號。

如果你不知道應用的PID,僅需要運行這個命令:

ps ux 它會顯示所有正在運行的應用還有應用的PID。

例如,要kill掉Chrome,我會運行命令:

kill -9 3629 也可以在同一時間kill多個進程。

kill -9 PID1 PID2 PID3

--------------------------------------------------------------------------------

PKill

"pkill"命令允許使用擴展的正則表達式和其它匹配方式。你現在可以使用應用的進程名kill掉它們,而不是使用PID。例如,要kill掉Firefox浏覽器,只需要運行命令:

pkill firefox 使用正則表達式匹配的話,你可以輸入進程名的部分字符,比如:

pkill fire 為了避免kill掉錯誤的進程,你應該用一下"pgrep -l [進程名]"列表來匹配進程名稱。

Killall

killall同樣使用進程名替代PID,並且它會kill掉所有的同名進程。例如,如果你正在運行多個Firefox浏覽器的實例,可以用命令把它們全部kill掉:

killall firefox 在Gnome中,你可以使用這個命令重啟Nautilus:

killall nautilus

Copyright © Linux教程網 All Rights Reserved