亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Shell腳本運(yùn)行中的停止方法實(shí)現(xiàn)

 更新時(shí)間:2021年11月24日 10:05:34   作者:super丶Coder  
Linux系統(tǒng)Shell中提交了一個(gè)腳本,但是需要停止這個(gè)進(jìn)程,如何處理?本文就來詳細(xì)的介紹一下,感興趣的可以了解一下

Linux系統(tǒng)Shell中提交了一個(gè)腳本,但是需要停止這個(gè)進(jìn)程,如何處理?

方式1

killall file-flume-kafka

說明:killall是一個(gè)命令,不是kill all,file-flume-kafka是腳本名,此方法簡單粗暴。

方式二

ssh $i "ps -ef | grep file-flume-kafka | grep -v grep | awk '{print \$2}' | xargs kill"

ps參數(shù):

-e:顯示所有進(jìn)程
-f:全格式顯示
ps -ef 第二個(gè)參數(shù)就是進(jìn)程ID

grep file-flume-kafka | grep -v grep,file-flume-kafka為腳本名,并去除包含grep的行,避免影響最終結(jié)果正確性
grep aaa | grep -v bbb:可以過濾掉查詢aaa結(jié)果中包含了bbb的行。
grep -v 可以理解為 grep not
舉例:cat test.log | grep "login"|grep -v "deviceType"表示找出test.log中包含login關(guān)鍵字,且沒有deviceType這個(gè)字段的行

awk ‘{print $2}':逐行的讀入,以空格為默認(rèn)分隔符將每行切片,取第二行。
awk參數(shù) -F : 指定輸入文件折分隔符。
比如awk -F : ‘/^root/{print $7}' passwd 表示搜索passwd文件以root關(guān)鍵字開頭的所有行,并輸出該行的第7列。

xargs kill:將前面的運(yùn)行結(jié)果作為kill命令的參數(shù)運(yùn)行。
xargs表示取出前面命令運(yùn)行的結(jié)果,作為后面命令的輸入?yún)?shù)。
xargs可選項(xiàng):-n1,將每一個(gè)參數(shù)傳給后面命令依次執(zhí)行。

特別注意:
ssh $i 是登錄到你執(zhí)行腳本的那臺(tái)虛擬機(jī)上,i代表虛擬機(jī)名字,非本機(jī)登錄需要設(shè)置免密。當(dāng)在本機(jī)上進(jìn)行此操作時(shí),無需執(zhí)行這個(gè)命令。另外后面$2前的轉(zhuǎn)義\也必須省略,無需轉(zhuǎn)義。命令如下:
ps -ef | grep file-flume-kafka | grep -v grep | awk '{print $2}' | xargs kill

具體例子如下:

假設(shè)這個(gè)是我正在運(yùn)行的腳本,我想kill它,但是我不知道他的進(jìn)程號(hào),只知道腳本的名稱。

在這里插入圖片描述

我的腳本名稱為dws-dwt.sh,根據(jù)過濾條件我查找出腳本有兩個(gè)進(jìn)程號(hào),為什么會(huì)這樣呢?

因?yàn)槟悴檎疫M(jìn)程時(shí)用到了grep命令,而這個(gè)命令執(zhí)行的時(shí)候帶有你查找的進(jìn)程參數(shù),同時(shí)這也是一個(gè)進(jìn)程。

例如 這條命令 ps -ef | grep dws-dwt.sh 其實(shí)是分兩步執(zhí)行的 先執(zhí)行ps -ef 再執(zhí)行 grep dws-dwt.sh 這個(gè)命令本身執(zhí)行的時(shí)候也是一個(gè)進(jìn)程,并把也帶有dws-dwt.sh。

所以你要查找dws-dwt.sh進(jìn)程,需要把 grep dws-dwt.sh這個(gè)進(jìn)程過濾掉,才是最后的結(jié)果,怎么過濾呢,肯定不能用dws-dwt.sh做關(guān)鍵字,只能用grep做關(guān)鍵字

執(zhí)行結(jié)果有兩個(gè)進(jìn)程號(hào):

ps -ef | grep dws-dwt.sh

在這里插入圖片描述

最終結(jié)果,得到進(jìn)程號(hào):

#執(zhí)行命令停止進(jìn)程
ps -ef | grep dws-dwt.sh | grep -v grep | awk '{print $2}' | xargs kill 

到此這篇關(guān)于Shell腳本運(yùn)行中的停止方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Shell腳本運(yùn)行中的停止方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論