linux crontab 保证php守护进程运行
写好php脚本。建议定期检测内存占用,核心逻辑就不写了。这个跟业务有关。
if(memory_get_usage()>100*1024*1024){
exit(0);//大于100M内存退出程序,防止内存泄漏被系统杀死导致任务终端
}
假设该php文件的路径为/root/run.php
打开终端
setsid php /root/run.php > /dev/null &
编辑进程监控脚本,当进程不存在时,自动重启 /root/monitor.sh
#!/bin/bash
alive=`ps aux|grep root\/run|grep -v grep|wc -l`
if [ $alive -eq 0 ]
then
php /root/run.php > /dev/null &
fi
添加计划任务(每分钟检测一次)
crontab -e
* * * * * /root/monitor.sh > /dev/null &
linux crontab 保证php守护进程运行的更多相关文章
- Linux下tomcat作为守护进程运行(开机启动、以指定的用户运行、解决非root身份不能绑定1024以下端口的问题)的配置方法
如题. 参考资料: http://www.jdiy.org/read.jd?id=y0haaynq1w http://blog.csdn.net/shw2004/article/details/578 ...
- Linux编程之《守护进程》
Intro ----- 守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程常 ...
- 一只简单的网络爬虫(基于linux C/C++)————守护进程
守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程常常在系统引导装入时启动, ...
- Linux 下Qt实现守护进程实例(转)
原文地址:Linux守护进程的编程方法(含实例) 作者:lingdxuyan 参考文献 Linux信号列表(zz) Linux 守护进程的编程方法 linux上编写守护进程的例程 Linux下后台守 ...
- Linux系统编程之--守护进程的创建和详解【转】
本文转载自:http://www.cnblogs.com/mickole/p/3188321.html 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终 ...
- [linux] C语言Linux系统编程-做成守护进程
守护进程: 必须是init进程的子进程,运行在后台,不与任何控制终端相关联. 通过以下步骤成为守护进程 1.调用fork()创建出来一个新的进程,这个新进程会是将来的守护进程 2.在新守护进程的父进程 ...
- linux系统编程:守护进程详解及创建,daemon()使用
一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而且提供某种服务,不是对整个 ...
- Linux下一个简单守护进程的实现 (Daemon)
在Linux/UNIX系统引导的时候会开启很多服务,这些服务称为守护进程(也叫Daemon进程).守护进程是脱离于控制终端并且在后台周期性地执行某种任务或等待处理某些事件的进程,脱离终端是为了避免进程 ...
- Linux架构之Rsync守护进程推和拉
第三十三章 Rsync服务 33.1)Rsync基本概述 rsync是一款开源.快速.多功能.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于Unix/linux/Window ...
随机推荐
- JavaEE Web 开发 链接 mysql 出现 Class.not found的错误
明明在项目的library里头导入过mysql-connector.jar的包,但是在加载driver的时候eclipse一直报这个错误.解决方案其实很简单,就是同样的jar包在tomcat的安装目录 ...
- 无法将当前工程转化成model 2.5/3.1:Cannot change version of project facet Dynamic Web Module to 2.5.
Description Resource Path Location TypeCannot change version of project facet Dynamic We ...
- Retrofit 使用方法
public class MainActivity extends Activity { private ListView mListView; //private ImageListAdapter ...
- [UE4]C++实现动态加载的问题:LoadClass<T>()和LoadObject<T>() 及 静态加载问题:ConstructorHelpers::FClassFinder()和FObjectFinder()
转自:http://aigo.iteye.com/blog/2281558 动态加载UObject和动态加载UClass分别用LoadObject<T>(),和LoadClass<T ...
- XrmToolBox 连接
- Java 日志
Java日志: 参考博客:http://www.importnew.com/16331.html 当日志中包含满足特定条件的记录时,触发相应的通知机制,或者在程序运行出现错误时,快速的定位潜在的问题源 ...
- 注册ActiveX控件
简单了解一下ActiveX控件的知识,ActiveX控件:简单来说,就是利用封装性的原理,把一些功能封装起来,我们可以再其他程序中使用,进而达到方便的目的.但是要注意ActiveX控件必须要注册后才可 ...
- python装饰器(二)
有参装饰器 def outer(flag): def timer(func): def inner(*args,**kwargs): if flag: print('''执行函数之前要做的''') r ...
- retry之python重试机制
安装 pip install retry Retry装饰器 retry(exceptions=Exception, tries=-1, delay=0, max_delay=None, backoff ...
- python- 日志学习
# @File : learn_logging.py #-*- coding:utf-8 -*- """ 日志:log 记录代码执行的过程 一旦记录下来,就可以根据日志去 ...