вы можете использовать try, за исключением того, что во избежание блокирования выполнения
используйте это
import subprocess
try:
print(subprocess.check_output(["pidof","ffmpeg"]))
except subprocess.CalledProcessError:
print("no process named ffmpeg")
вы получаете ошибку, потому что если pidof ffmpeg
не дает вывода, и с использованием print(subprocess.check_output(["pidof","ffmpeg"]))
мыожидая вывода от этой команды.
также вы можете использовать
print(subprocess.getoutput("pidof ffmpeg"))
, который не выдаст ошибку, даже если вывод этой команды none
если вы проверите метод библиотеки check_output
вы можете найти это
def check_output(*popenargs, timeout=None, **kwargs):
r"""Run command with arguments and return its output.
If the exit code was non-zero it raises a CalledProcessError. The
CalledProcessError object will have the return code in the returncode
attribute and output in the output attribute.
The arguments are the same as for the Popen constructor.... """