Linux杀死进程的Shell脚本实现(linux杀进程脚本)

linux系统里面运行的进程可以通过编写Shell脚本生成自动化任务,可以使用shell脚本杀死进程(Kill process with Shell Script)。通过编写脚本可以自定义杀死进程的策略,我们以下面的例子代码为例来实现这样的功能:

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、外贸网站建设、荆门网络推广、微信小程序定制开发、荆门网络营销、荆门企业策划、荆门品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供荆门建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

######################################################################

#Bash脚本实现Linux杀死进程的Shell脚本实现

#

#注意:请自行更改参数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”)

#如果拿到了进程信息,则循环处理之

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脚本,我们可以根据自己设定的timeout_value参数值来指定一个超时时间来杀死Linux系统上超过timeout_value时间的进程,这里我们使用了grep命令来获取想要杀死的进程的pid,并使用kill -9来结束该进程。

当然,对于Linux系统的进程杀死,我们也可以使用Killall、pkill等命令来实现进程的杀死,但是有一个弊端就是如果想要定制一些杀死进程的策略,这时候Shell脚本就派上用场了。通过编写shell脚本,我们可以自己定制进程杀死的策略,而不动用系统自带的杀死命令。

香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。

分享题目:Linux杀死进程的Shell脚本实现(linux杀进程脚本)
新闻来源:http://www.zyruijie.cn/qtweb/news48/9948.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联