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

薄洪涛6年前Linux1253

写了一个聊天室,需要手动执行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  加入第一条命令

相关文章

mac免密登陆到阿里服务器

生成本地密钥ssh-keygen -t rsa   2. 拷贝 /Users/boht/.ssh/id_rsa.pub 内容到服务器的 /r...

记录一次从日志中恢复mysql数据库数据

记录一次从日志中恢复mysql数据库数据

前因:有个大佬在update的时候,忘记加where条件,造成线上数据库中的某个状态值全部被修改,需要马上处理首先面对这种情况,我马上想到的就是从二进制日志文件中恢复,马上查看是否开启了日志,确定开启...

实现SVN自动化部署

实现SVN自动化部署

当我们修改程序并通过SVN上传到服务器后,我们想立马刷新页面看到更改之后的效果,这时候就要用到SVN自动化部署了,所谓的自动化部署,就是当SVN提交后自动更新文件到项目目录现在我们从头来部署一遍,看到...

xshell做端口映射链接数据库

xshell做端口映射链接数据库

有些时候,公司的一些线上的数据库,数据太多,不适合复制到本地然后搭建本地数据库开发,直接链接数据库又不安全所以,需要通过xshell做端口转发,通过隧道来链接数据库1、首先通过xshell登陆跳板机2...

Cannot establish FTP connection to an SFTP server.

Cannot establish FTP connection to an SFTP server.

今天想上传个JDK,惊奇的发现,FileZilla连接不上,出现如下错误;很明显,我用FTP协议与一台使用了SFTP的服务器建立连接肯定是不行的,所以要改变协议;解决方法如下:打开File-Site...

服务器:swap告警,系统异常报错

服务器:swap告警,系统异常报错

登陆自己的小服务器,用composer下载个东西,一直报killed[root@host voyager]# composer require tcg/voya...

发表评论    

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