Вы также можете использовать pgrep, чтобы проверить, работает ли он.Это более прямой способ запуска ps и передачи его в grep:
следующим образом:
! pgrep ffmpeg > /dev/null && echo "not running"
Или, если вам требуется оператор if, конечно:
if ! pgrep ffmpeg ; then
echo "not running"
fi
Это также соответствует процессам, где ffmpeg появляется где-то в имени процесса.Так что это также будет соответствовать процессам с именем blahffmpegblah.Предложение, в котором используется «ps | grep», имеет аналогичное поведение, кстати.но может также соответствовать процессам, которые включают ffmpeg где-то в командной строке (включая файлы и параметры, передаваемые в качестве аргументов).Если вам не нравится это поведение, вы можете использовать опцию -x:
if ! pgrep -x 'ffmpeg' ; then
echo "not running"
fi