Сканерная часть многофункционального принтера / сканера USB не найдена

Bleh еще не может комментировать,

Выше правильно, но если вы используете pgrep, у вас меньше средств для очистки. Он возвращает только pid (а не всю строку ps).

p = subprocess.Popen("sudo kill -9 $(sudo ps aux| pgrep '(" + mac_host + ")')", shell=True, stdout=subprocess.PIPE)

Edit:

Если вы хотите попробовать без использования команд subprocess / shell, вы можете попробовать что-то например,

import os
from signal import SIGKILL


pids = [pid for pid in os.listdir('/proc') if pid.isdigit()]
for pid in pids:
    if mac_host in open(os.path.join('/proc', pid, 'cmdline'), 'rb').read():
        os.kill(int(pid), SIGKILL)

Может понадобиться регулярное выражение, если «if mac_host in» не выполняет свою работу.

Используемые источники:

how-to -terminate-process-from-python-using-pid

how-to-terminate-process-from-python-using-pid

0
задан 28 January 2018 в 15:01

0 ответов

Другие вопросы по тегам:

Похожие вопросы: