shell重启进程简单脚本

有些手动部署jar的项目地方,项目重启每次需要先ps -es查找进程 然后kill比较麻烦,写个简单脚本
保存成xxx.sh文件然后chmod -R 777 xxx.sh
直接复制可能会出错 识别空格错误之类的 可以手打一遍

用到的命令 ps -ef | awk
能够只返回某列数据($2,进程pid)
ps -ef | awk '/nginx:/ && !/awk/{print $2}' 里面的nginx:需要自己调
如果只传nginx,类似nginx 进程杀不干净

root     23619     1  0 8月23 ?       00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody   23620 23619  0 8月23 ?       00:00:07 nginx: worker process
nobody   23621 23619  0 8月23 ?       00:00:53 nginx: worker process
nobody   23623 23619  0 8月23 ?       00:00:28 nginx: worker process
nobody   23624 23619  0 8月23 ?       00:00:35 nginx: worker process
nobody   23625 23619  0 8月23 ?       00:00:10 nginx: cache manager process

-n:验证字符长度是否大于0
-z: 验证字符长度是否等于0

代码如下:

#!/bin/bash
var_1=`ps -ef | awk '/nginx:/ && !/awk/{print $2}'`
if [ -n "$var_1" ]; then
   for i in $var_1; do
     kill -9 $i
     echo "循环 $i"
   done
   #echo "进程运行中nginx: $var_1"
   #kill -9 $var_1
   echo '关闭nginx旧进程'
   /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
   echo '启动nginx服务成功'
else
   /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
   echo '启动nginx成功'
fi

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值