掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
linux系統(tǒng)里面運行的進程可以通過編寫Shell腳本生成自動化任務,可以使用shell腳本殺死進程(Kill process with Shell Script)。通過編寫腳本可以自定義殺死進程的策略,我們以下面的例子代碼為例來實現(xiàn)這樣的功能:

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于成都網站設計、成都網站建設、外貿網站建設、荊門網絡推廣、微信小程序定制開發(fā)、荊門網絡營銷、荊門企業(yè)策劃、荊門品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供荊門建站搭建服務,24小時服務熱線:028-86922220,官方網址:www.cdcxhl.com
######################################################################
#Bash腳本實現(xiàn)Linux殺死進程的Shell腳本實現(xiàn)
#
#注意:請自行更改參數(shù)process_name,timeout_value以確定具體的進程名稱和超時時間
######################################################################
#! /bin/bash #定義腳本的shell類型,使用bash
process_name=”processName” #進程的名稱
timeout_value=10 #超時的時間
current_time=$(date +%s) #獲取當前時間
#使用ps -A | grep “process_name”獲取進程信息
process_info=$(ps -A | grep “$process_name”)
#如果拿到了進程信息,則循環(huán)處理之
if [-n “$process_info” ];then
while read line
do
#通過awk命令獲取進程的PID
pid=$(echo $line | awk ‘{print $1}’)
#獲取進程啟動的時間
START_time=$(ps -p $pid -o lstart | awk ‘NR==2{print $2,$3,$4}’)
#將時間轉化為Unix時間戳
start_time_s=$(date +%s –date “$start_time”)
#print shell info
echo “pid=$pid, start_time=$start_time, start_time_s=$start_time_s”
#計算時間差,如果超時則直接殺死進程
if [ $[$current_time – $start_time_s] -gt $timeout_value ];then
echo “kill process name ($process_name) pid ($pid)”
kill -9 $pid
fi
done
fi
######################################################################
通過上面的bash腳本,我們可以根據(jù)自己設定的timeout_value參數(shù)值來指定一個超時時間來殺死Linux系統(tǒng)上超過timeout_value時間的進程,這里我們使用了grep命令來獲取想要殺死的進程的pid,并使用kill -9來結束該進程。
當然,對于Linux系統(tǒng)的進程殺死,我們也可以使用Killall、pkill等命令來實現(xiàn)進程的殺死,但是有一個弊端就是如果想要定制一些殺死進程的策略,這時候Shell腳本就派上用場了。通過編寫shell腳本,我們可以自己定制進程殺死的策略,而不動用系統(tǒng)自帶的殺死命令。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網站系統(tǒng)開發(fā)經驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流