精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網(wǎng)

17站長網(wǎng) 首頁 網(wǎng)站 服務(wù)器 查看內(nèi)容

Linux下使用killall命令終止進程的8大用法

2022-10-6 08:54| 查看: 1198 |來源: 互聯(lián)網(wǎng)

Linux 的命令行提供很多命令來殺死進程。比如,你可以向 kill 命傳遞一個PID來殺死進程;pkill 命令使用一個正則表達式作為輸入,所以和該模式匹配的進程都被殺死。 但是還有一個命令叫 killall ,默認情況下,它精

Linux 的命令行提供很多命令來殺死進程。比如,你可以向 kill 命傳遞一個PID來殺死進程;pkill 命令使用一個正則表達式作為輸入,所以和該模式匹配的進程都被殺死。

但是還有一個命令叫 killall ,默認情況下,它精確地匹配參數(shù)名,然后殺死匹配進程。在這篇文章中,我們將討論有關(guān)這個命令的實際應(yīng)用。

默認情況下,killall 命令將向一個/組進程發(fā)送一個 SIGTERM 信號,但是,也可以通過參數(shù)發(fā)送一個指定的信號。

下面我們通過例子詳細介紹 killall 的 8 大用法。

1、基本用法

假如我們 3 個進程在運行,分別是 hello1, hello2, hello3 ,現(xiàn)在我們想殺死 hello1 進程,可以直接使用如下方式:

killall hello1

運行的結(jié)果如下:

[alvin@VM_0_16_centos test]$ ps aux | grep hello alvin 12061 0.0 0.0 4152 344 pts/0 S 14:41 0:00 ./hello1 alvin 12074 0.0 0.0 4152 344 pts/0 S 14:41 0:00 ./hello2 alvin 12084 0.0 0.0 4152 340 pts/0 S 14:41 0:00 ./hello3 alvin 12089 0.0 0.0 112648 964 pts/0 R+ 14:41 0:00 grep --color=auto hello [alvin@VM_0_16_centos test]$ killall hello1 [1] Terminated ./hello1 [alvin@VM_0_16_centos test]$ ps aux | grep hello alvin 12074 0.0 0.0 4152 344 pts/0 S 14:41 0:00 ./hello2 alvin 12084 0.0 0.0 4152 340 pts/0 S 14:41 0:00 ./hello3 alvin 12170 0.0 0.0 112648 964 pts/0 R+ 14:42 0:00 grep --color=auto hello

可以看到,hello1 進程已經(jīng)被殺死了。

剩下的 hello2 和 hello3 進程,我們想一次性殺死他們,也就是批量殺死進程,可以如下操作:

[alvin@VM_0_16_centos test]$ killall hello* hello: no process found hello1: no process found hello.c: no process found [2]- Terminated ./hello2 [3]+ Terminated ./hello3

如此,以 hello 開頭的進程全部被干掉。

2、終止某個用戶所運行的進程

我們可以殺死以滿足某個正則表達式的一組進程,同樣的,我們也可以殺死某個用戶運行的所有進程。

比如,用戶 harry 現(xiàn)在運行如下幾個進程:

[alvin@VM_0_16_centos test]$ ps aux | grep harry root 13675 0.0 0.2 148236 5584 ? Ss 14:55 0:00 sshd: harry [priv] harry 13677 0.0 0.1 148236 2944 ? S 14:55 0:00 sshd: harry@pts/1 root 13678 0.0 0.2 148236 5444 ? Ss 14:55 0:00 sshd: harry [priv] harry 13680 0.0 0.1 148236 2252 ? S 14:55 0:00 sshd: harry@notty harry 13681 0.0 0.1 53228 2168 ? Ss 14:55 0:00 /usr/libexec/openssh/sftp-server harry 13694 0.0 0.1 116436 3252 pts/1 Ss+ 14:55 0:00 -bash harry 13948 0.0 0.0 4152 344 pts/1 S 14:57 0:00 ./hello1 harry 13952 0.0 0.0 4152 344 pts/1 S 14:57 0:00 ./hello2 harry 13959 0.0 0.0 4152 344 pts/1 S 14:57 0:00 ./hello3 alvin 14005 0.0 0.0 112648 964 pts/0 R+ 14:58 0:00 grep --color=auto harry

我們現(xiàn)在想殺死 harry 所運行的所有進程,可以以如下方式操作:

killall -u harry

運行結(jié)果如下:

[alvin@VM_0_16_centos test]$ sudo killall -u harry [alvin@VM_0_16_centos test]$ ps aux | grep harry alvin 14040 0.0 0.0 112648 964 pts/0 R+ 14:58 0:00 grep --color=auto harry

但是,這個選項要慎用,因為它會把該用戶所有進程,包括終端進程,全部殺死,將導致該用戶直接退出。所以,如果不想挨揍的話不要輕意嘗試這個選項。

3、終于時間的方式終止進程

假如我們現(xiàn)在運行了很多程序,我們只想殺死運行時間超過 5h 的進程,那么可以使用 -o 選項,其中 o 代表 older 如下:

killall -o 5h

同樣地,如果你想殺死進行時間小于 4h 的進程,那么可以使用 -y 選項,其中 y 代表 younger ,如下:

killall -y 4h

這兩個選項同樣非常粗暴,也會把終端退出,所以先不演示了。

4、忽略大小寫

默認情況下,killall 命令是大小寫敏感的,所以我們?nèi)绻麑戝e大小寫,將無法正確殺死進程。

[alvin@VM_0_16_centos test]$ killall HELLO1 TEST1: no process found

如果我們想忽略大小寫,可以加上 -I (大寫字母 i )選項。

[alvin@VM_0_16_centos test]$ killall -I HELLO1 [1] Terminated ./hello1

5、關(guān)閉命令執(zhí)行回顯

默認情況下,killall 會告訴你命令執(zhí)行情況,但是,我們?nèi)绻魂P(guān)心它的執(zhí)行結(jié)果,只想讓它靜默執(zhí)行,該怎么辦?只需加上 -q 選項即可,其中 q 表示 quite , 如下:

[alvin@VM_0_16_centos test]$ killall HELLO2 HELLO2: no process found [alvin@VM_0_16_centos test]$ killall -q HELLO2 [alvin@VM_0_16_centos test]$

6、列出所有支持的信號

如前文所述,默認情況下,killall 命令將發(fā)送 SIGTERM 信號,那么,安可以發(fā)送其它信號嗎?當然是可以的。可以使用 -l 選項查看 killall 所支持的所有信號:

[alvin@VM_0_16_centos test]$ killall -l HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS UNUSED

你可以使用 -s 選項(后面跟一個信號名)來向一個進程發(fā)送特殊信號。

7、交互式操作

如果你在殺死多個進程時不太放心,擔心把不該殺死的進程給殺死了,那么你可以使用 -i 選項,這樣就可以自由決定哪些進程應(yīng)該被殺死,哪些進程應(yīng)該被保留。

[alvin@VM_0_16_centos test]$ killall -i hello* Kill hello2(13825) ? (y/N) y Kill hello3(13831) ? (y/N) N hello: no process found hello1: no process found hello3: no process found hello.c: no process found [2]- Terminated ./hello2

8、等待直到某個進程被終止

當一個信號被發(fā)送至某個進程,如果你想確定該進程已經(jīng)被殺死了才返回執(zhí)行結(jié)果,可以使用 -w 選項,其中 w 代表 wait ,如下:

[alvin@VM_0_16_centos test]$ killall -w hello1 [4]+ Terminated ./hello1

這里好像看不出什么效果,但實際執(zhí)行的時候,可以發(fā)現(xiàn)執(zhí)行結(jié)果會在一兩秒后出現(xiàn),而不加 -w 選項的話,執(zhí)行結(jié)果馬上就顯示。

本文最后更新于 2022-10-6 08:54,某些文章具有時效性,若有錯誤或已失效,請在網(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號:w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識,文章和圖片版權(quán)歸原作者及原出處所有,僅供學習與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

熱門排行

    最近更新

      返回頂部
      主站蜘蛛池模板: 51精品视频免费国产专区 | 91影视在线 | 香蕉视频在线观 | 亚洲欧美日韩激情在线观看 | 香港a毛片免费全部播放 | 在线免费观看一区二区三区 | 欧美亚洲另类一区中文字幕 | 伊人久久综合网亚洲 | 国产黄色片在线播放 | 香蕉视频在线观看www | 亚洲刺激视频 | 国产一区二区丁香婷婷 | 国产视频欧美 | 九九综合| 久久精品国产一区二区三区不卡 | 开心午夜婷婷色婷在线 | 欧美视频亚洲色图 | 一级特黄a 大片免费 | 爱爱小视频在线观看网站 | 成人午夜影院 | 在线日韩麻豆一区 | 亚洲国产精品成人综合久久久 | 免费看一级a一片毛片 | 在线观看福利视频在线观看 | 我要看一级黄色录像 | 性色aⅴ闺蜜一区二区三区 性色a按摩videos | 香蕉视频美女 | 国产一级黄毛片 | 国产高清精品一级毛片 | 亚洲欧美日韩中文综合v日本 | 国内在线网友露脸自拍 | 你懂的成人 | 国产一区二区三区影院 | 日本高清不卡一区久久精品 | 免费国产h视频在线观看86 | 黄色片视频在线观看 | 成人美女黄网站视频大全 | 99久久999久久久综合精品涩 | 国产第一页久久亚洲欧美国产 | 老司机观看精品一区二区 | 国产无圣光高清一区二区 |