Linux重启进程脚本
#!/bin/bash script_dir="/home/dev/supplier/script" logDir="/home/dev/supplier/logs" cd $script_dir for file in `ls *.sh` do echo ${file%.sh} if [[ $file =~ "rollback" ]] || [[ $file =~ "restart_all" ]] || [[ $file =~ "clean" ]] ;then echo "skip $file" else process=`ps aux|grep "service=${file%.sh}"|grep -v grep|awk '{print$2}'` if [ ! $process ]; then echo "No Porcess To Kill!" else echo "kill -9 $process" kill -9 $process sleep 10 fi echo "Restart $script_dir/$file" nohup $script_dir/$file > $logDir/${file%.sh}.out 2>&1 & echo "Restart $file Done." fi done
1.排除掉指定脚本
2.通过启动路径中的关键字查找进程编号
3.停止进程
4.通过nohup启动