php脚本以守护进程的方式运行

薄洪涛6年前Linux1168

写了一个聊天室,需要手动执行php start.php start命令去启动workerman的握手程序,但是退出xshell后,进程会被杀掉,因为之前用过node的forever,感觉php应该也有一个可以让脚本一直运行的命令,遗憾的是没找到;所以只能写守护进程去运行

1、创建一个进程,setsid 命令 > /dev/null & ,比如

setsid php /www/wwwroot/chatroom.bohongtao.online/chatroom/start.php start > /dev/null &

2、写个shell

 #!/bin/bash
 alive=`ps aux|grep root\/run|grep -v grep|wc -l`
 if [ $alive -eq 0]
 then
 php /www/wwwroot/chatroom.bohongtao.online/chatroom/start.php start > /dev/null &
 fi

3、加入crontab,定时检测,一分钟一次,如果进程不存在直接重启进程

* * * * * /home/bohongtao/ssh/chatroom.sh > /dev/null &

4、加入开机启动

vi /etc/rc.local  加入第一条命令

相关文章

haproxy如何开启日志

默认haproxy是不记录日志的,但是调试的时候需要我们去记录日志,所以说一下日志的记录方法1.编辑 /etc/rsyslog.conf,放开如下代码,记住是udp# Provides&nb...

Linux如何删除乱码文件

Linux如何删除乱码文件

之前使用rz命令上传文件的时候,由于上传不成功,出现了乱码文件,如图这时候,我想删除这个乱码文件,通过rm命令是不可以的,因为我无法打出这个文件的名字这时候我们可以通过inode来删除此文件1. 先查...

linux下mysql报错Access denied for user 'root'@'%

开发机器用的linux,但是装好mysql用navicat链接的时候,会报错Access denied for user 'root'@'%,命令mysql -u root也是...

nginx正向代理与反向代理

nginx正向代理与反向代理

正向代理正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。浏览器中输...

mac下安装homebrew及开发工具

安装homebrew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw...

Nginx解决跨域问题

不解释,做个记录location / {     add_header Access-Control-Allow-Origin&n...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。