shell php的守护进程,实例详解shell编写守护进程的方法
在linux下,借助shell查看一个后台运行的PHP程序是否非正常退出,如果退出,利用守护进程自动restart,类似mysql的safe_mysqld脚本。
其实,就是用shell脚本实现/etc/rc.d/目录的守护进程代码。
本例子,共共3个程序:
1,shstart.sh 负责启动
2,sh.sh 守护进程主程序
3,shstop.sh 安全退出守护进程和php程序主体
代码1,shstart.sh:
复制代码 代码示例:
#!/usr/local/bin/bash
/home/phpshell/sh.sh &
shpid="$!";
echo "$shpid" > /home/phpshell/sh.sid
代码2,sh.sh:
复制代码 代码示例:
#!/usr/local/bin/bash
PHP="/usr/local/bin/php"
PROGRAM="/www/time.php"
#start dameo
$PHP $PROGRAM &
chpid="$!";
echo "$chpid" > /home/phpshell/php.sid
echo "child pid is $chpid"
echo "status is $?"
while [ 1 ]
do
wait $chpid
exitstatus="$?"
echo "child pid=$chpid is gone, $exitstatus" >> /home/phpshell/phperror.log
echo `date` >> /home/phpshell/phperror.log
echo "**************************" >>/home/phpshell/phperror.log
sleep 10
$PHP $PROGRAM &
chpid="$!";
echo "$chpid" > /home/phpshell/php.sid
echo "next child pid is $chpid"
echo "next status is $?"
echo "userkill is $userkill"
done
代码3,shstop.sh:
复制代码 代码示例:
#!/usr/local/bin/bash
chpid="`cat sh.sid`";
kill $chpid;
echo "kill sh.sh done!"
ps ax|grep php |grep -v grep|awk '{print $1}'|xargs kill
sleep 2
ps ax|grep php |grep -v grep|awk '{print $1}'|xargs kill
echo "kill php done"
shell php的守护进程,实例详解shell编写守护进程的方法相关推荐
- android任务 进程 线程详解,Android任务、进程、线程详解
singleTop模式,基本上于standard分歧,仅正在请求的Activity反好位于栈顶时,无所区别.此时,配放成singleTop的Activity,不再会构制新的实例加入到Task栈外,而是 ...
- python守护多线程_Python多线程Threading、子线程与守护线程实例详解
线程Threading: python中多线程需要使用threading模块 线程的创建与运行: 1.直接调用threading的Thread类: 线程的创建:线程对象=thread.Thread(t ...
- Element Plus 实例详解(一)___安装设置
Element Plus 实例详解(一) ___安装设置 本篇目录: 一.前言 二.安装方法 1.环境支持 2.Element Plus安装使用方式 (1).使用包管理器 (2).浏览器直接引入 3. ...
- java写exe程序实例,java实现可安装的exe程序实例详解
java实现可安装的exe程序实例详解 通过编写java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写java代码,将编写好的java项目导出一个.jar格 ...
- java.exe 安装程序_java实现可安装的exe程序实例详解
java实现可安装的exe程序实例详解 通过编写Java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写Java代码,将编写好的Java项目导出一个.jar格 ...
- 以python程序调用的系统_python 系统调用的实例详解
python 系统调用的实例详解 本文将通过两种方法对python 系统调用进行讲解,包括python使用CreateProcess函数运行其他程序和ctypes模块的实例, 一 python使用Cr ...
- java web初始化实例_Struts2中实现web应用的初始化实例详解
Struts2中实现web应用的初始化实例详解 在JavsSE中,main方法为应用提供了入口,而在Android中,我们可以使用Application对于整个应用的生命周期进行管理,那么在基于Str ...
- linux shell 端口占用,linux 查看端口占用命令实例详解
linux 查看端口占用命令实例详解 端口是系统非常重要的一个东东,我们经常需要查看哪个进程占用了哪个端口,或者哪个端口被哪个进程占用.废话不多说,直接上干货,教大家怎样查看系统端口占用情况. 方法一 ...
- linux 脚本编写基本命令,Linux Shell命令行及脚本编程实例详解
<Linux典藏大系:Linux Shell命令行及脚本编程实例详解>共15章,分为两篇.主要内容包括:Linux 及Linux Shell简介.初识Linux Shell.常用Shell ...
- php shell,php命令行写shell实例详解
php 可以像java perl python 那样运行,今天发现如果我早早知道这个,或许我不会去学习java 和 python 当年学java不过为了一个程序放在服务器上,不停的跑啊跑,原来 php ...
最新文章
- 浏览器拦截弹出窗口 IE Firefox……浏览器
- SA区坏道数据恢复的经历
- 当前页面怎么调用子集iframe页面的方法
- 【Tools】Linux下C和C++程序中内存泄露检测
- 《算法导论》学习总结 — 21.第16章 贪心算法(1) 基础入门1
- Eclipse导出可执行JAR文件的方法
- 【bzoj1532】[POI2005]Kos-Dicing 二分+网络流最大流
- 如何系统的自学python-如何系统地自学Python?
- ecshop mysql 报错_ecshop数据库操作函数
- 【玩转Ubuntu】02. Ubuntu上搭建Android开发环境
- 什么标签用于在表单中构建复选框_以下 ( ) 标签用于在表单中构建复选框 。_IP通信技术答案_学小易找答案...
- SVN(三)利用 IntelliJ IDEA 进行代码对比的方法
- python将多个pdf合并并保存书签
- IT高管发出“暗语邮件”求救(图)
- 王明道牧师《写给青年基督徒的一封信》
- 软件性能测试方案怎么写?完整的性能测试报告模板分享
- 赫斯曼万兆交换机_赫斯曼交换机型号说明
- 程序员一直在寻找的日程安排工具
- 如何备份VMware虚拟磁盘文件并移植到其他虚拟机
- 《实用VC编程之玩转控件》第7课:ListBox 列表控件
热门文章
- idea 根据数据库表自动创建持久化类
- 解决 找不到方法:“Void System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)”。
- String,StringBuff,Stringbuilder三者的理解以及练习题
- ThreadLocal源码学习
- 面试必考:秒杀系统的9个核心知识点,一次性打包给你
- Spring的注入方式中,官方推荐哪种方式
- JOIN查询流程与驱动表
- android ffmpeg4.0.2编译过程记录
- JavaScript核心语法——变量与常量
- 警惕!这5种“脸色”在暗示你这些健康问题!