最近在做一个东西,需要用php去调用ffmpeg,但是问题在于如果ffmpeg不能立即结束(比如进行一个流处理),那么php就一直在等待exec的返回。
为了解决这个问题,之前用的方法是把ffmpeg的执行结果输出到/dev/null,然后再加上&让其后台执行,pid是靠grep进程列表找到执行的命令,但是这个方法总感觉不是很可靠,因为grep的时候,关键字多一个空格,就找不到pid了。
现在自己写了一个C程,让C程来执行ffmpeg,同时返回ffmpeg的进程id。由于平时很少写C,还请各位帮看看有什么安全隐患。另外有其他的方法,大家可以一起讨论下~
代码地址:https://github.com/ety001/mytools/blob/master/daemonRun/daemonRun.c
PS:表示不知道怎么把github的代码贴进来。。
为了解决这个问题,之前用的方法是把ffmpeg的执行结果输出到/dev/null,然后再加上&让其后台执行,pid是靠grep进程列表找到执行的命令,但是这个方法总感觉不是很可靠,因为grep的时候,关键字多一个空格,就找不到pid了。
现在自己写了一个C程,让C程来执行ffmpeg,同时返回ffmpeg的进程id。由于平时很少写C,还请各位帮看看有什么安全隐患。另外有其他的方法,大家可以一起讨论下~
代码地址:https://github.com/ety001/mytools/blob/master/daemonRun/daemonRun.c
PS:表示不知道怎么把github的代码贴进来。。