linux写一个脚本杀进程,linux下如何自动检测并重新启动一个死掉的进程,然后再把它杀死:)(shell脚本实现)...
. /etc/profile #如果要把这个shell脚本放到crontab中,这句不能少,用来初始化程序环境变量,这是root用户的环境变量文件
PNAME="程序名字" #引号不能少,因为程序名字后面可能会有空格和参数
PATHNAME=程序所在文件夹绝对路径LENGTH=`ps -ef|grep "$PNAME"|grep -v grep|cut -b 49-200|wc -c ` #引号不能少,同上
if test $LENGTH -eq 0
then
cd $PATHNAME
nohup $PNAME >/dev/null &
fi
杀死进程(可能有多个,暂不考虑)
PNAME="程序名字" #引号不能少,因为程序名字后面可能会有空格和参数
PATHNAME=程序所在文件夹绝对路径PID=`ps -ef|grep "$PNAME"|grep -v "grep"|awk '{print $2}'`
或者
PID=`ps -ef|grep "$PNAME"|grep -v "grep"|cut -b 10-15`#引号不能少,同上LENGTH=echo $PID|wc -cif test $length -ne 0
then
kill -9 $PID
fi
备注:
-eq 等于 -z 空串(if [ -z $filename2_size ] || [ -z $filename1_size ] || [ -z $filename0_size ]; then
echo 'no such files' )
-ne 不等于 = 两个字符相等
-gt 大于 != 两个字符不等
-lt 小于 -n 非空串
-le 小于等于
-ge 大于等于
命令1 && 命令2
&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;
换句话说,“如果这个命令执行成功&&那么执行这个命令”。
命令1 || 命令2
如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);
或者换句话说,“如果这个命令执行失败了|| 那么就执行这个命令”
linux写一个脚本杀进程,linux下如何自动检测并重新启动一个死掉的进程,然后再把它杀死:)(shell脚本实现)...相关推荐
- 服务器清理死掉的进程
服务器清理死掉的进程 在服务器上跑程序突然发现GPU占用了 先用 nvidia-smi 看一下是什么进程占用了,发现里面并没有显示 那应该是有之前跑的网络程序死掉了,没清理干净,查看一下占用情况: p ...
- linux写磁带软件,如何在Linux下安装磁带机
安装环境: 服务器:LC2. 软件:Red Hat 6.0 (kernel: 2.2.12). 磁带机:DAT8e. 具体步骤:首先将磁带机连接在服务器上,HP的服务器中SCSI卡的类型一般为Adap ...
- linux关机方法有哪些?有何区别_Linux下判断是否正常关机的一个简单方法
思想:系统启动的时候生成一个文件,正常关机的时候则删除这个文件,则可以根据系统开机时有没有那个文件来判断是不是非正常关机. 步骤: 在/etc/rc.d/init.d/下编程脚本. 判断是否正常关机, ...
- 嵌入式linux写文件内存增加,嵌入式Linux对内存的直接读写
本文转载于:http://blog.sina.com.cn/s/blog_838007b101013n0y.html memdev:直接读写内存. 可以在busybox的杂项中找到: CONFIG_U ...
- linux强制kill死掉的进程和窗口
转自ubuntu系统强制关闭程序或窗口 1.最为常用的方法: $ps -aux 查看所有运行的进程 $kill -9 (PID) 杀死进程号为PID的进程 (基本都能处理卡住的程序或窗口,适 ...
- 解决MacOS虚拟机配置静态IP后不能ping通外网(桥接模式下的自动检测)
1.实验环境: mac,VMware Fushion,CentOS7. 2.出现问题:能ping通主机,不能ping通百度(外网) 3.解决流程(熟悉流程的可以直接看总结) 使用 su root命令然 ...
- Shell脚本语言笔记
Shell脚本语言笔记 一.shell是什么? 二.Shell 是一种脚本语言 1.定义变量 2.单引号和双引号的区别: 3.将命令的结果赋值给变量,常见的有以下两种方式: 4.只读变量 5.删除变量 ...
- linux下开机自动启动,定时运行shell脚本
Shell 脚本与window/dos 下的批处理相似,也就是用各类命令预先放入一个文件中,方便一次性执行的的一个程序文件,主要是方便管理员进行设置或者管理用. 一.shell脚本 在Linux下,我 ...
- linux 下取进程占用 cpu/内存 最高的前10个进程
1. linux 下 取进程占用 cpu 最高的前10个进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head ps auxw|head -1 ...
最新文章
- msp430中如何连续对位进行取反_四元数数控:如何保养视觉对位平台?
- 如何使用confd+ACM管理Nginx配置
- Learning-Python【0】:Windows环境下Python2和Python3的安装
- 5.7 Components — Sending Actions From Components to Your Application
- 软件测试工程师-Python语言
- 95-280-036-源码-资源管理-计算资源管理-TaskSlot-TaskExecutor 中 Slot 的管理
- matlab anova 如何不画图,方差分析的数据处理和作图
- pytorch学习笔记(十二):权重衰减
- C3P0连接池配置方式
- JavaWeb:Tomcat、Servlet
- 如何更好地控制input输入框的高度
- python分组求和_Python–多个键分组求和
- 机器学习——联合概率分布及其意义
- 深度学习笔记-吴恩达
- 程序员光学技术还不够?推荐一份运营书单给你品一品
- Error:Execution failed for task ':recordlib:lint'. Lint found errors in the project; aborting buil
- TextView(显示文本)
- mysql_install_db命令详解_Mysql_install_db相关介绍
- 【java】对URL中的中文和符号进行UrlEncode转码
- C语言实现RC4加密算法
热门文章
- 关于实现Runnable接口的类中有公共属性问题
- win10系统下载-靠谱推荐
- Spring @ControllerAdvice @ExceptionHandler
- 实验9:Problem D: 从点到面
- ORA-19573: cannot obtain exclusive enqueue for datafile 1
- php判断数组是否存在字符串中,php判断数组元素中是否存在某个字符串的方法_php技巧...
- mysql 进阶_mysql进阶知识
- [Android] 拍照、截图、保存并显示在ImageView控件中
- LeetCode SQL 196. 删除重复的电子邮箱
- 2015年第六届蓝桥杯 - 省赛 - C/C++大学B组 - F. 加法变乘法