1 
                    
                    lqs      2013-09-17 12:07:25 +08:00    可以用 glibc 里的 daemon(3) 来代替你自己写的 init_daemon 函数。 
                 | 
            
     2 
                    
                    missdeer      2013-09-17 12:20:17 +08:00    为毛要自己写,Linux上有daemonize小工具,-p参数把pid写入到文件中 
                 | 
            
     4 
                    
                    hfcorriez      2013-09-17 14:17:51 +08:00    这基本用不到c,PHP有很多种方法可以实现,看看php-childprocess应该可以满足你的需求 https://github.com/hfcorriez/php-childprocess/ 
                 | 
            
     5 
                    
                    wudikua      2013-09-17 14:23:59 +08:00    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    完全没必要 
                exec('ffmpeg -y -f video4linux2 -s 320*240 -r 10 -i /dev/video0 test.avi >/dev/null 2>1 & echo $!');  |