linux下根据进程名定时杀死/重启进程

linux下根据进程名定时杀死/重启进程

例如:在/home/目录下有一个tomcat项目,名为tomcat-cs

现在根据需要每隔半小时重启一下该tomcat

步骤一:创建可执行文件

在/home/tomcat-cs/目录下创建restart-cs.sh文件如下

#! /bin/sh
ps -ef|grep tomcat-cs|grep java|awk '{print $2}'|xargs kill -9
sh /home/tomcat-cs/bin/startup.sh

保存,并赋予执行权限

chomd 777 /home/tomcat-cs/restart-cs.sh

代码详解:

ps  -ef|grep  tomcat-cs  查询进程名包含tomcat-cs字段的进程信息

grep  java  在上一步的基础上排除其他进程(当前的ps进程),否者查询结果不唯一

awk  '{print  $2}'   提取查询结构的第二列,即进程编号

xargs  kill  -9   固定格式,根据上一步提取的进程id参数结束该进程

步骤二:添加定时任务

执行crontab -e

添加如下信息并保存

30 * * * * sh /home/tomcat-cs/restart-cs.sh 

 

你可能感兴趣的:(linux,linux,tomcat,kill,linux运维,shell)