成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五個(gè)你可能不了解的Killall命令的實(shí)際應(yīng)用

系統(tǒng) Linux
Killall命令可以用來給一個(gè)特定的進(jìn)程發(fā)送一個(gè)信號(hào)。這個(gè)信號(hào)默認(rèn)情況下是SIGTERM,但也可以由killall命令使用參數(shù)來指定其它信號(hào)。現(xiàn)在讓我們通過一些實(shí)際的例子來看看這個(gè)命令的實(shí)際用法。

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

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

 

[[112518]]

Linux 的 killall 命令

Killall命令可以用來給一個(gè)特定的進(jìn)程發(fā)送一個(gè)信號(hào)。這個(gè)信號(hào)默認(rèn)情況下是SIGTERM,但也可以由killall命令使用參數(shù)來指定其它信號(hào)。

現(xiàn)在讓我們通過一些實(shí)際的例子來看看這個(gè)命令的實(shí)際用法。

1. 基本示例

在這個(gè)例子中,我們將使用killall來殺死特定進(jìn)程。假如,有兩個(gè)開頭字符相同的進(jìn)程:

  1. $ ps -aef | grep “test” 
  2. himanshu 3969 2811 0 14:14 pts/0 00:00:00 ./test 
  3. himanshu 3970 2811 0 14:14 pts/0 00:00:00 ./test_again 

如何殺死“test_again”進(jìn)程呢?

  1. $ killall test_again 
  2. [2]+ Terminated ./test_again 

如你所見,killall命令終止了“test_again”進(jìn)程。你可以通過ps命令來確認(rèn)這個(gè)事實(shí):

  1. $ ps -aef | grep “test” 
  2. himanshu 3969 2811 0 14:14 pts/0 00:00:00 ./test 

你可以觀察到“test_again”沒有被顯示出來,因?yàn)樗呀?jīng)被殺死了。

2. 使用 -I 選項(xiàng)忽略大小寫

默認(rèn)情況下,killall命令是大小寫敏感的。例如:

  1. $ ps -aef | grep “test” 
  2. himanshu 4177 3161 0 14:54 pts/3 00:00:00 ./test 
  3. himanshu 4178 3161 0 14:54 pts/3 00:00:00 ./test_again 
  4. himanshu 4180 3161 0 14:54 pts/3 00:00:00 grep --color=auto test 
  5. $ killall TEST 
  6. TEST: no process found 

你可以看到,killall命令找不到叫做“TEST”的進(jìn)程,但是“test”進(jìn)程是確確實(shí)實(shí)的在運(yùn)行的。

來讓killall命令忽略大小寫,可以使用-I選項(xiàng)(大寫i)。例如:

  1. $ killall -I TEST 
  2. [1]- Terminated ./test 

你可以觀察到,現(xiàn)在你成功的終止了“test”進(jìn)程。

3. 使用 -i 選項(xiàng)交互式的終止進(jìn)程

killall命令可以用來終止多個(gè)進(jìn)程。

  1. $ killall test test_again 
  2. [2]- Terminated ./test_again 
  3. [3]+ Terminated ./test 

但是,如果你想要killall交互式地來終止進(jìn)程,你可以使用-i選項(xiàng)。

這里是例子:

  1. $ killall -i test test_again 
  2. Kill test(4201) ? (y/N) y 
  3. Kill test_again(4202) ? (y/N) y 
  4. [1]- Terminated ./test 
  5. [2]+ Terminated ./test_again 

你可以看到,用這種方式,在同時(shí)終止多個(gè)進(jìn)程時(shí),用戶可以控制是否終止某一個(gè)進(jìn)程。

4. 使用 -q 選項(xiàng)關(guān)閉命令執(zhí)行回顯

有些時(shí)候,當(dāng)killall找不到指定的進(jìn)程時(shí),它就會(huì)像下面這樣輸出錯(cuò)誤信息。

  1. $ killall TEST 
  2. TEST: no process found 

但是,當(dāng)你想要killall執(zhí)行地安安靜靜的話,你就可以使用-q選項(xiàng):

  1. $ killall -q TEST 

如你所見,-q選項(xiàng)被使用之后,killall命令的輸出信息就被抑制了。

5. 使用-l選項(xiàng)列出所有支持的信號(hào)(signal)

如之前描述的一樣,killall向進(jìn)程發(fā)送信號(hào)。

你可以使用-s選項(xiàng)(后面跟一個(gè)信號(hào)名)來向一個(gè)進(jìn)程發(fā)送特殊信號(hào)。

想要知道所有可以發(fā)送的信號(hào),可以使用-l選項(xiàng)(小寫L)來獲取:

  1. $ killall -l 
  2. HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM 
  3. STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS 
  4. UNUSED 

killall支持上面的所有信號(hào)。

看著這些信號(hào)的名字,可能你心里就會(huì)嘀咕:這些信號(hào)都是干什么的?

譯者注:使用下面的命令來獲取所有信號(hào)的說明:

  1. $ man 7 signal 

我需要和大家討論一件事情

killall命令的man說:假如進(jìn)程的名字的長度小于等于15,默認(rèn)情況下就會(huì)以完整名稱匹配。

比如,假設(shè)有兩個(gè)名字很長的進(jìn)程:

  1. $ ps -aef | grep “test” 
  2. himanshu 4021 3161 0 14:27 pts/3 00:00:00 ./test_abcdefghij 
  3. himanshu 4035 3161 0 14:27 pts/3 00:00:00 ./test_abcdefgh 

第一個(gè)進(jìn)程的名字有15個(gè)字符。現(xiàn)在,讓我們?cè)囍褂胟illall殺死這個(gè)進(jìn)程:

  1. $ killall test_abcdefghij 
  2. [1]- Terminated ./test_abcdefghij 

如你所見,killall命令成功殺死了這個(gè)進(jìn)程。

假如,兩個(gè)進(jìn)程的名字都超過15個(gè)字符,根據(jù)man,killall將把兩個(gè)進(jìn)程全部殺死。比如:

  1. $ ps -aef | grep “test” 
  2. himanshu 4114 3161 0 14:40 pts/3 00:00:00 ./test_abcdefghijklmnopqrstuvwx 
  3. himanshu 4141 3161 0 14:46 pts/3 00:00:00 ./test_abcdefghijklmnopqrstuvwxyz 
  4. himanshu 4143 3161 0 14:46 pts/3 00:00:00 grep --color=auto test 

你可以觀察到,兩個(gè)進(jìn)程的名字都超過15個(gè)字符。現(xiàn)在,當(dāng)我使用killall試著殺死第二個(gè)進(jìn)程時(shí):

  1. $ killall test_abcdefghijklmnopqrstuvwxyz 
  2. [6]+ Terminated ./test_abcdefghijklmnopqrstuvwxyz 

它只殺死了指定的進(jìn)程,另一個(gè)則沒有被殺死。

  1. $ ps -aef | grep “test” 
  2. himanshu 4114 3161 0 14:40 pts/3 00:00:00 ./test_abcdefghijklmnopqrstuvwx 
  3. himanshu 4146 3161 0 14:47 pts/3 00:00:00 grep --color=auto test 

我不太確定,是我進(jìn)行的嘗試中有不對(duì)的地方,還是這是killall的一個(gè)bug。假如你在評(píng)論中寫上你的觀點(diǎn),我會(huì)非常感激。

順便說一下,這是我機(jī)器上killall命令的版本信息:

  1. $ killall --version 
  2. killall (PSmisc) 22.20 
  3. Copyright (C) 1993-2012 Werner Almesberger and Craig Small 
  4. PSmisc comes with ABSOLUTELY NO WARRANTY. 
  5. This is free software, and you are welcome to redistribute it under 
  6. the terms of the GNU General Public License. 
  7. For more information about these matters, see the files named COPYING. 

via: http://linoxide.com/linux-command/linux-killall-my-options/

譯者:intermerlin 校對(duì):wxy

責(zé)任編輯:黃丹 來源: linux.cn
相關(guān)推薦

2019-04-03 09:10:35

Rediskey-value數(shù)據(jù)庫

2015-06-05 09:52:41

公有云風(fēng)險(xiǎn)成本

2023-02-16 07:38:38

非機(jī)械鍵電路薄膜,

2011-03-29 15:44:41

對(duì)日軟件外包

2024-01-15 13:18:11

數(shù)據(jù)管理CIO

2021-10-20 15:46:25

區(qū)塊鏈元宇宙金融

2019-11-21 15:08:13

DevOps云計(jì)算管理

2010-08-19 10:12:34

路由器標(biāo)準(zhǔn)

2021-07-12 07:01:39

AST前端abstract sy

2018-07-16 09:00:32

LinuxBash數(shù)組

2017-03-13 17:25:00

移動(dòng)支付技術(shù)支撐易寶

2013-11-11 10:07:43

靜態(tài)路由配置

2009-09-04 11:06:06

Linux桌面Linux操作系統(tǒng)linux

2023-10-09 14:28:14

AIGC模型WOT2023

2019-05-14 14:51:40

Java語法糖用法

2022-04-30 19:22:35

Python編程語言

2023-11-29 17:07:18

2018-04-16 23:14:39

SD-WANSDN網(wǎng)絡(luò)

2019-03-22 08:00:01

Git命令GitHub

2018-11-07 10:18:33

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91免费视频 | 久久精品国产一区 | 久久久国产一区 | 天堂亚洲| 东方伊人免费在线观看 | 日本黄色免费大片 | 中文字幕在线观 | 久久国产精品亚洲 | 一区二区久久 | 国产成人小视频 | 国产免费一区二区三区免费视频 | 国产精品视频免费看 | 成人免费视频7777777 | av一二三区 | 特黄视频| 在线视频国产一区 | eeuss国产一区二区三区四区 | 国产精品亚洲成在人线 | 国产日韩一区二区三区 | 色爱区综合 | 久久综合九九 | 91社区视频 | 国产精品国产精品国产专区不片 | 免费观看黄色片视频 | 久久久片| 成人免费区一区二区三区 | 国产一区二区在线播放 | 亚洲免费一区 | 在线观看中文字幕 | 91精品国产色综合久久 | 日本三级全黄三级a | 免费一区二区在线观看 | 欧美日韩亚洲一区 | 亚洲高清视频一区二区 | 亚洲国产二区 | www.中文字幕.com | 欧美一级特黄aaa大片在线观看 | 精品免费国产一区二区三区四区介绍 | 久久久久久毛片免费观看 | 亚洲综合三区 | 久久新视频 |