从bash命令获取PID

时间:2018-04-03 10:05:59

标签: php bash ffmpeg pid

您好我有bash命令从PHP脚本连续运行ffmpeg,我如何从在bash命令中运行的ffmpeg进程获取PID。因为我想停止ffmpeg进程和特定PID的bash命令,目前我已经从bash命令获取PID并使用const editSchoolName = (schools, oldName, name) => schools.map(item => { if (item.name === oldName) { var newItem = Object.assign({},item); newItem.name = name; return newItem; } else{ return item; } }); 停止所有ffmpeg进程。

请提出任何建议。

由于

这是我的代码

pkill ffmpeg

2 个答案:

答案 0 :(得分:0)

使用这个单行:

for result in $(pgrep -a ffmpeg); do if [ "$(echo "$result" | grep "IP_TO_CHECK_FOR")" ]; then pkill $(echo "$result" | cut -d " " -f1); fi; done

首先,您将获得有关ffmpeg所有进程的所有信息。然后,您将检查IP中的每一个(如果IP本身不足以检查,则修改模式)并通过cut提取它来终止特定进程的PID(PID是空白"")之前输出的第一部分。由于grep也支持正则表达式,因此您可能需要通过\取消屏蔽IP中的点。

答案 1 :(得分:0)

您已使用echo $!输出上次后台处理的PID(即ffmpeg)(请参阅bash manual)。它应显示在$output中,但您目前无法从那里获取它。