天天看點

Linux下結束程序的指令

Linux下結束程序的指令

  1. kill

    作用:根據程序号殺死程序

    用法: kill [信号代碼] 程序ID

    舉例:

    [root@localhost ~]# ps auxf |grep httpd

    注意:kill -9 來強制終止退出

    舉例 [root@localhost ~]# ps aux |grep gaim

    或者 [root@localhost ~]# pgrep -l gaim 5031 gaim

    5031 gaim

    [root@localhost ~]# kill -9 5031

    特殊用法:

    kill -STOP [pid]

    發送SIGSTOP (17,19,23)停止一個程序,而并不Linux作業系統殺死程序。

    kill -CONT [pid]

    發送SIGCONT (19,18,25)重新開始一個停止的程序。

    kill -KILL [pid]

    發送SIGKILL (9)強迫程序立即停止,并且不實施清理操作。

    kill -9 -1

    終止你擁有的全部程序。

    2. killall

    作用:通過程式的名字,直接殺死所有程序

    用法:killall 正在運作的程式名

    [root@localhost beinan]# pgrep -l gaim 2979 gaim

    [root@localhost beinan]# killall gaim

    注意:該指令可以使用 -9 參數來強制殺死程序

    3. pkill

    用法:#pkill 正在運作的程式名

    [root@localhost beinan]# pkill gaim

    4. xkill

    作用:殺死桌面圖形界面的程式。

    應用情形執行個體:firefox出現崩潰不能退出時,點滑鼠就能殺死firefox 。

    當xkill運作時出來和個人腦骨的圖示,哪個圖形程式崩潰一點就OK了。

    如果您想終止xkill ,就按右鍵取消;

    調用方法:

    [root@localhost ~]# xkill

    5.killalll

    NAME (名稱)

    killall - 以名字方式來Linux作業系統殺死程序

    SYNOPSIS (總覽)

    killall [-egiqvw] [-signal] name …

    killall -l

    killall -V

    DESCRIPTION (描述)

    killall 發送一條信号給所有運作任意指定指令的程序。 如果沒有指定信号名, 則發送SIGTERM.。

    信号可以以名字 (如 -HUP ) 或者數字 (如 -1 ) 的方式指定。 信号 0 (檢查程序是否存在)隻能以數字方式指定。

    如果指令名包括斜杠 (/), 那麼執行該特定檔案的程序将被殺掉, 這與程序名無關。

    如果對于所列指令無程序可殺, 那麼 killall 會傳回非零值。 如果對于每條指令至少殺死了一個程序, killall 傳回 0。Killall 程序決不會殺死自己 (但是可以殺死其它 killall 程序)。

    OPTIONS (選項)

    -e對于很長的名字, 要求準确比對。 如果一個指令名長于 15 個字元, 則可能不能用整個名字 (溢出了)。 在這種情況下, killall 會殺死所有比對名字前 15 個字元的所有程序。 有了 -e 選項,這樣的記錄将忽略。 如果同時指定了 -v 選項, killall 會針對每個忽略的記錄列印一條消息。

    -g殺死屬于該程序組的程序。 kill 信号給每個組隻發送一次, 即使同一程序組中包含多個程序。

    -i互動方式,在Linux作業系統殺死程序之前征求确認資訊。

    -l列出所有已知的信号名。

    -q如果沒有程序殺死, 不會提出抱怨。

    -v報告信号是否成功發送。

    -V顯示版本資訊。

    -w等待所有殺的程序死去。 killall 會每秒檢查一次是否任何被殺的程序仍然存在, 僅當都雷射後才傳回。 注意: 如果信号被忽略或沒有起作用, 或者程序停留在僵屍狀态, killall 可能會永久等待。

    FILES(相關檔案)

    /proc proc檔案系統的存在位置。

    KNOWN bugS (已知 BUGS)

    以檔案方式殺死隻對那些在執行時一直打開的可執行檔案起作用, 也即, 混雜的可執行檔案不能夠通過這種方式殺死。

    要警告的是輸入 killall name 可能不會在非 Linux作業系統上産生預期的效果, 特别是特權使用者執行時要小心。

    在兩次掃描的間隙, 如果程序消失了而被代之以一個有同樣 PID 的新程序, killall -w 偵測不到。

繼續閱讀