1
lqs 2013-09-17 12:07:25 +08:00 1
可以用 glibc 里的 daemon(3) 来代替你自己写的 init_daemon 函数。
|
2
missdeer 2013-09-17 12:20:17 +08:00 2
为毛要自己写,Linux上有daemonize小工具,-p参数把pid写入到文件中
|
4
hfcorriez 2013-09-17 14:17:51 +08:00 1
这基本用不到c,PHP有很多种方法可以实现,看看php-childprocess应该可以满足你的需求 https://github.com/hfcorriez/php-childprocess/
|
5
wudikua 2013-09-17 14:23:59 +08:00 1
pcntl_fork 我想可以满足你想要的。
|
7
ety001 OP @wudikua 刚才测试了一下,貌似只能得到调用ffmpeg的php进程的pid,拿不到ffmpeg的。
代码如下: $c = 'ffmpeg -y -f video4linux2 -s 320*240 -r 10 -i /dev/video0 test.avi'; $pid = pcntl_fork(); if($pid == -1){ die('-1'); } else if($pid){ echo $pid; return; } else { exec($c); } |
8
hfcorriez 2013-09-17 17:28:46 +08:00 1
完全没必要
exec('ffmpeg -y -f video4linux2 -s 320*240 -r 10 -i /dev/video0 test.avi >/dev/null 2>1 & echo $!'); |