cpulimit导致ffmpeg在后台运行

时间:2015-11-17 01:49:01

标签: linux ubuntu ffmpeg command

我尝试使用cpulimit来限制ffmpeg进程,但它似乎导致ffmpeg在后台运行

首先在第一个命令控制台中,我启动ffmpeg并禁用所有输出

ffmpeg -i "Avengers2mp4" -hls_list_size 0 -hls_key_info_fil file.keyinfo -nostdin -loglevel quiet -threads 0 "out.m3u8"

接下来,我打开另一个命令控制台,通过运行

找出ffmpeg的进程ID
ps -a         
PID    TTY          TIME CMD
1359   pts/0    00:00:02 ffmpeg
1364   pts/3    00:00:00 ps

我使用的是CPUlimit版本2.0,我的服务器有3个内核,因此我使用命令将限制设置为150(可用资源的50%)

cpulimit -l 150 -p "1359"

并在第一个命令控制台上显示

[0]+  Stopped                 ffmpeg -i "Avengers2.mp4" -hls_list_size 10000 -hls_key_info_file file.keyinfo -nostdin -loglevel quiet -threads 0 "out.m3u8"
root@hosted-by:~/test#

并检查,ffmpeg仍在运行

ps -a         
PID    TTY          TIME CMD
1359   pts/0    00:00:23 ffmpeg
1364   pts/3    00:00:00 ps

所以我的问题是,无论如何都要阻止这种情况发生?

1 个答案:

答案 0 :(得分:0)

cpulimit向任务发送SIGSTOP和SIGCONT信号以使它们低于阈值 - 我认为这不适用于ffmpeg,因为它一直使用大量的CPU。

您可以在其上设置nice,因此它是一项低优先级任务,允许其他进程以更高的优先级运行。

您还可以使用控制组(cgroups)来限制流程可用的资源。