linux kill命令使用方法,Linux初学者的killall命令(8个例子)
Linux初學(xué)者的killall命令(8個例子)
我們已經(jīng)討論了kill命令 ,如果你想在Linux中終止進(jìn)程,你可以使用kill命令 。 但是,還有一個命令行實用程序可以用于相同的目的: killall 。 在本教程中,我們將使用一些易于理解的示例來討論此命令的基礎(chǔ)知識。
但在此之前,值得一提的是,本教程中包含的所有示例都已在Ubuntu 16.04 LTS上進(jìn)行了測試。
Linux的killall命令
killall命令可以讓你通過名稱來終止進(jìn)程。 以下是該工具的語法:
killall [OPTIONS] name
以下是手冊頁如何解釋該工具:
killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent. Signals can be specified either by name (e.g.? -HUP or -SIGHUP) or by number (e.g.? -1) or by option -s.
If? the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be? selected for killing, independent of their name.
killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least one process matched the -u and -Z search criteria. killall?returns non-zero otherwise.
A killall process never kills itself (but may kill other? killall? processes).
下面的問答樣例應(yīng)該會讓你更好地了解killall命令的工作原理。
Q1。 如何使用killall命令?
該工具的基本用法非常簡單 - 您只需將流程的名稱作為參數(shù)傳遞給killall即可。 例如,要殺死在我的系統(tǒng)上運行的gthumb進(jìn)程,我用以下方式使用killall:
killall gthumb
請注意,如果您不知道進(jìn)程的確切名稱,則可以使用ps命令來獲取此信息。
Q2。 killall是否區(qū)分大小寫?
是的。 如果用戶無法正確寫入進(jìn)程名稱,則會引發(fā)錯誤“未找到進(jìn)程”錯誤。 以下是一個例子:
但是,如果您愿意,可以使用-I命令行選項強(qiáng)制killall忽略大小寫。
Q3。 在終止過程之前如何讓killall問?
假設(shè)你希望killall命令在殺死一個進(jìn)程之前詢問用戶權(quán)限,那么你可以使用-i命令行選項。 這將使killall操作互動。
例如:
Q4。 如何選擇信號killall發(fā)送處理?
默認(rèn)情況下,這是killall發(fā)送到進(jìn)程的SIGTERM信號。 但是,您也可以發(fā)送其他信號。 您可以使用選項-s ,-- signal和-SIGNAL來發(fā)送這些其他信號。
然而,為了這個工作,你需要知道killall命令可以發(fā)送什么信號。 這可以使用-l命令行選項。
killall -l
以下是我們系統(tǒng)上面提到的命令列表:
Q5。 如何防止killall抱怨如果指定的過程不存在?
如果名稱傳遞給killall的進(jìn)程沒有運行(不存在),那么該工具會將其傳遞給用戶輸出。
但是,如果您不希望該工具生成此類輸出,則可以使用-q命令行選項。
所以當(dāng)使用-q時,你可以看到killall命令保持安靜。
Q6。 如何殺死用戶擁有的所有進(jìn)程?
如果要求殺死特定用戶擁有的所有進(jìn)程,則可以使用killall提供的-u選項。 不用說,該選項要求您指定用戶的用戶名作為其輸入。
killall -u [user-name]
例如:
killall -u himanshu
Q7。 如何根據(jù)時間殺死進(jìn)程?
假設(shè)你想殺死所有已經(jīng)運行超過5個小時的進(jìn)程,那么你可以用下面的方法使用-o選項來完成這個任務(wù):
killall -o 5h
當(dāng)然,如果你不想殺死所有的進(jìn)程,你可以指定進(jìn)程名稱。 同樣的,如果你想殺死進(jìn)程,比如說,不到4個小時,那么你可以使用-y命令行選項。
killall -y 4h
以下是手冊頁介紹這些選項的方式:-o, --older-than
Match only processes that are older (started? before)? the? time
specified.?? The? time is specified as a float then a unit.? The
units are? s,m,h,d,w,M,y? for? seconds,? minutes,? hours,? days,
weeks, Months and years respectively.
-y, --younger-than
Match? only? processes that are younger (started after) the time
specified.? The time is specified as a float then a? unit.?? The
units? are? s,m,h,d,w,M,y? for? seconds,? minutes,? hours, days,
weeks, Months and years respectively.
Q8。 如何確保killall只在進(jìn)程死后返回?
在信號由killall傳遞給進(jìn)程之后,如果你想要確保命令只在進(jìn)程死后返回,那么你可以使用-w命令行選項來執(zhí)行此操作,這會強(qiáng)制killall等待。
killall -w [process-name]
以下是手冊頁介紹此選項的方式:-w, --wait
Wait? for? all killed processes to die.? killall checks once per
second if any of the? killed? processes? still? exist? and? only
returns if none are left.? Note that killall may wait forever if
the signal was ignored, had no effect, or if the? process? stays
in zombie state.
結(jié)論
Killall可能不是新手的蛋糕,但也不是很復(fù)雜。 你需要練習(xí)它提供的命令行選項。 我們已經(jīng)討論了其中的大部分,所以本教程應(yīng)該是一個很好的起點。 一旦你完成了這些,你可以關(guān)于該命令的標(biāo)題到其手冊頁 。
總結(jié)
以上是生活随笔為你收集整理的linux kill命令使用方法,Linux初学者的killall命令(8个例子)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 安装qt 4.6软件,QT学
- 下一篇: linux socket接收不到16进制