linux自动重启电脑脚本,linux下通过脚本实现自动重启程序的方法
烈火建站学院(LieHuo.Net)转载无论什么程序都不可能完美无缺,理论上,任何程序都有 Core Dump 的一天,正式运营的程序,尤其是服务器程序,一旦 Core Dump ,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美梦中,被电话惊醒的惨痛经历,手忙脚乱把服务器重新启动,第二天上班还要被老板一顿狠批。所以,程序发生错误时自动重启变得很重要。这里集中讨论 linux 实现自动重启程序的方法。
linux 下实现程序的自动重启有很多方法,这里我们介绍的是通过自己写脚本来实现。
自动重启脚本,假定需要实现重启的程序名为 test ,我们这里通过判断进程数目来判断程序是否正常。
ps -ef | grep “$1” | grep -v “grep” | wc –l 是获取 $1 (本例中为 test )的进程数,脚本根据进程数来决定下一步的操作。通过一个死循环,每隔 1 秒检查一次系统中的指定程序的进程数。
代码如下:
以下为引用的内容:
脚本check
#!/bin/sh
#——————————————————————————
# 函数: CheckProcess
# 功能: 检查一个进程是否存在
# 参数: $1 — 要检查的进程名称
# 返回: 如果存在返回0, 否则返回1.
#——————————————————————————
CheckProcess(){
# 检查输入的参数是否有效
if [ “$1” = “” ];
then
return 1
fi
#$PROCESS_NUM获取指定进程名的数目,为1返回0,表示正常,不为1返回1,表示有错误,需要重新启动
PROCESS_NUM=`ps -ef | grep “$1” | grep -v “grep” | wc -l`
if [ $PROCESS_NUM -eq 1 ];
then
return 0
else
return 1
fi
}
# 检查test实例是否已经存在
while [ 1 ] ; do
CheckProcess “CheckQQ_RET”
if [ $CheckQQ_RET != 4 ];
then
# 杀死所有test进程,可换任意你需要执行的操作
killall -9 test
exec ./test &
fi
sleep 1
done
脚本start:
加入limit coredumpsize 102400,设置core file的大小,一旦程序Core Dump,有迹可寻。在该脚本中后台执行check脚本,可以省去很多麻烦,
linux自动重启电脑脚本,linux下通过脚本实现自动重启程序的方法相关推荐
- Mac系统关闭重启电脑后「重新打开应用及其窗口」功能的方法
大家在使用Mac电脑时可能会遇到,当您登录 Mac 或打开某个 App 时,App 及其窗口可能会自动重新打开.面对这种现象我们该如何解决呢?下面小编就给大家详细介绍一下控制此现象的方法,希望对大家有 ...
- linux开机自启动python脚本_Linux下Python脚本自启动和定时启动的详细步骤
一.Python开机自动运行 假如Python自启动脚本为 auto.py .那么用root权限编辑以下文件: sudo vim /etc/rc.local 如果没有 rc.local 请看 这篇文章 ...
- 如何在不重启电脑的情况下修改主机名
首先修改 /etc/hostname sudo vim /etc/hostname 将hostname里的内容改为xxxx-PC,这样下次启动电脑之后,主机名就修改了. 如果想进一步,不想重启电脑就修 ...
- 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法
在Deepin系统下安装LibreOffice 6.4.1版本的方法 使用的是Deepin系统,从深度应用商店看到有LibreOffice,安装了一下,发现ui是真的丑,就像是十年前的xp那样,记得前 ...
- 重启电脑后MySQL数据丢失_为什么当我重启电脑时会出现数据丢失?
展开全部 大概是内存的问题!但是还是给你提供一些详细的资料!希望能帮助到你! 一.32313133353236313431303231363533e4b893e5b19e31333332626666软 ...
- android开发蓝牙自动连接电脑上,android – 配对设备的蓝牙自动连接
我是新来的,我已经阅读了很多你的帖子,但仍然没有找到问题的解决方案. 我正在为Android 2.2编写一个使用蓝牙连接到终端设备的应用程序. 我有一个配对设备列表,我可以将我的Android平板电脑 ...
- linux怎样卸载电脑系统软件,Linux系统怎么卸载软件? Linux卸载Dropbox的教程
Linux 下有时候我们安装了软件却不知道如何去卸载,或者找不到卸载的位置(不像 Windows 下,的控制面板里可以轻松的卸载).尤其是用网上找来的命令来安装的软件,想需要卸载的时候更是感觉无从下手 ...
- linux mysql root免密_Linux下MySQL忘记root密码的完美解决方法
在使用MySQL数据库时,由于某些原因长时间没有登陆MySQL,或者由于工作交接完成度不高,导致数据库root登陆密码忘记,本文给大家介绍一种当忘记MySQL root密码时的解决办法,亲测有效. 首 ...
- linux emacs使用教程,在ubuntu下使用emacs编写C语言程序
在学习Programming in C的第二遍,我在虚拟机中安装了ubuntu系统,在其中用文本编辑器emacs来写程序,这是我的开始. 在ubuntu中用emacs来写程序,首先我们得先一步一步来, ...
- linux扩展模式触摸屏,Ubuntu14.04下使用触摸屏以及笔记本扩展触摸屏设置方法
今天拿到了一块触摸屏,在win10和Ubuntu14.04下测试其使用.触摸屏品牌为朗歌斯,型号为LS530TM,是一块15寸电阻触摸显示屏. Windows下的使用很方便,显示屏上一共三根线:电源线 ...
最新文章
- CSS 和 JS 动画哪个更快
- 【动态规划专题】最长上升子序列模型
- Design Pattern----06.Creational.Singleton.Pattern (Delphi Sample)
- sqlserver如何读写操作windows系统的文件
- llustrate dBpoweramp Asset UPnP Premium Mac 音频服务器
- mysql mvcc 实例说明_【MySQL】面试官:谈谈你对Mysql的MVCC的理解?
- 保存Google、Bing翻译的语音
- dede所有目录模板全解
- 电脑录制网课视频怎么操作?
- CSS 左中右三列布局5种方式
- 北京科技大学计算机组成原理,北京科技大学二十套计算机组成原理题库及答案...
- sql使用WITH ROLLUP分组统计并求总数
- LeetCode每日一题488. 祖玛游戏
- Image Processing and Analysis_8_Edge Detection:Finding Edges and Lines in Images by Canny——1983...
- 要求在数组头部增添一个数字
- 28岁存款6万的我裸辞了
- idea的英文是什么意思_英文idea的汉语是什么意思
- 基于JAVA早教课程管理系统计算机毕业设计源码+系统+数据库+lw文档+部署
- geogebra android,GeoGebra几何
- FlexNetLicensing简介(由FlexNetPublisher和FlexNetEmbedded构成)
热门文章
- html 去文本框中的双引号_前端·HTML基础
- Django 模板中 变量 过滤器 标签 的使用方法
- 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral,解决
- Swift-EasingAnimation
- java 蓝桥杯 石子游戏(题解)
- tableau货架图制作_3小时精通Tableau图表制作(18类)
- 两张照片重叠处半透明_那些悬浮在空中的照片是怎么拍的?
- go并发编程-理解不同并发场景下的go原语
- ModelCoder中的超密时间模型
- spark基础之调度器运行机制简述