bug

php start.php status not run

我发现workerman 运行一段时间后查看status 就出现not run
[fryli@localhost shadowsocks-php]$ php start.php status
Workerman[start.php] status
Workerman[start.php] not run
用户定义信号 2
通过netstat -tunlp |grep 1081 命令发现程序仍然在运行
[fryli@localhost shadowsocks-php]$netstat -tunlp |grep 1081
tcp 0 0 0.0.0.0:1081 0.0.0.0:* LISTEN 6766/php
我觉得这里应该是找不到pid文件文件了,pid文件应该是存在/tmp文件夹下,所以我想知道在centos 7 系统下多久清理一次/tmp文件夹。【ps:cetnos 7 默认是没有安装tmpwatch这个命令的 (用来定时清理/tmp)】
已邀请:

walkor

赞同来自:

可以手动设置 pid文件位置,这样可以避免pid文件被清理
http://doc3.workerman.net/worker-development/pid_file.html

lambda

赞同来自:

好,明白了。谢谢 。

zhangxiaoman - phper

赞同来自:

遇见 status not run 的问题..

➜ WorkerMan_Demo php start.php start -d
Workerman[start.php] start in DAEMON mode
----------------------- WORKERMAN -----------------------------
Workerman version:3.1.9 PHP version:5.5.29
------------------------ WORKERS -------------------------------
user worker listen processes status
zhangxiaoman none tcp://0.0.0.0:1234 4 [OK]
----------------------------------------------------------------
Input "php start.php stop" to quit. Start success.


启动正常..


WorkerMan_Demo php start.php status
Workerman[start.php] status
PHP Warning: readfile(/var/folders/t2/v7bvy5_j3mv_087_qms44s1h0000gp/T/workerman.status): failed to open stream: No such file or directory in /Users/zhangxiaoman/WorkerMan_Demo/vendor/workerman/workerman/Worker.php on line 520
PHP Stack trace:




我看了..

/var/folders/t2/v7bvy5_j3mv_087_qms44s1h0000gp/T/workerman.status

这个文件不存在..


跟 pid 没有关系吧

这是啥原因啊???

walkor

赞同来自:

workerman启动后会向 sys_get_temp_dir 函数返回的目录中写入pid文件和状态文件
你的环境 sys_get_temp_dir() 返回的路径不存在

创建一个目录就好了

zhangxiaoman - phper

赞同来自:

情况是这样的...

/var/folders/t2/v7bvy5_j3mv_087_qms44s1h0000gp/T/


这个目录是创建成功了..

pid 文件也生成了.

只是状态文件没有生成..

walkor

赞同来自:

mac 系统么?
刚给公司一位同事定位,php 5.5.29 的stream_slelect 有bug,调用这个函数会导致进程异常退出。
换个版本试下吧。

要回复问题请先登录注册