首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:软路由 参考手册 开发工具
 → 当前位置:首页>编程开发>shell>正文

用shell写守护进程

OKLinux www.oklinux.cn 2007-04-28 来源:         会员收藏 游客收藏

设想:用一个shell查看一个后台运行的PHP程序是否非正常退出

如果退出,利用守护进程自动restart.

类似mysql的safe_mysqld

共3个程序

shstart.sh 负责启动

sh.sh 守护进程主程序

shstop.sh 安全退出守护进程和php程序主体

/**************************/

shstart.sh

#!/usr/local/bin/bash

/home/phpshell/sh.sh &

shpid="$!";

echo "$shpid" > /home/phpshell/sh.sid

/**************************/

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

/******************************/

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"

利用这个原理,可以实现很多后台程序的吊线问题

上一篇: Sobell谈bash和Linux命令行命运   下一篇: 源代码安装PostgreSQL 8.2.0
收藏于收藏夹】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
· Sobell谈bash和Linux命令行命运
· Linux shell介绍,第四章
· Linux shell介绍,第三章
· Linux Shell介绍,第二章
· Linux Shell介绍,第一章
· bash字符串匹配的用法
· Bash For Beginner's Guide (Bash新手指南
· shell是什么
· 新手看招 Linux Shell编程简单一例
· shell技巧
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
·shell编程实例三:一个简
·常用Linux Shell技巧集锦
·Shell编程基础
·Shell 编程实例集锦
·shell编程实例一:login例
·shell入门基础必备
·玩转Linux shell命令提示
·Linux系统环境下的Socket
·Linux主要shell命令详解
·shell编程实例二:TCP She
最新文章
· Sobell谈bash和Linux命令
· Linux shell介绍,第四章
· Linux shell介绍,第三章
· Linux Shell介绍,第二章
· Linux Shell介绍,第一章
· bash字符串匹配的用法
· Bash For Beginner's Gui
· shell是什么
· 新手看招 Linux Shell编
· shell技巧
· Shell编程新手入门 Linux
· 在Linux系统中批量建立用
· Linux中让Tomcat5自动启
· TCSH shell 编程入门
· shell 脚本,怎么样可以

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有
合作联系 QQ:18743986 Email:arlan8005#163.com