Я нашел несколько похожих тем, и они помогли мне упростить код, но ни один из них по-настоящему не решил проблему, и теперь я в тупике. Я бы хотел избежать установки дополнительных пакетов, таких как psutil, если это вообще возможно.
Поэтому я рассматриваю два решения Python, которые могу придумать:
- Измените сценарий так, чтобы он мог завершить процесс authd (или правильный процесс) без участия пользователя
- Переведите окно в фокус и нажмите клавишу Esc (или кнопку «Отмена»).
Но если у кого-то есть идея получше, я буду рад попробовать.
Я бегу macOS Sequoia с Python 3.9.6

import os
import subprocess
import signal
def kill_process_pid(name):
child = subprocess.Popen(['pgrep', '-f', name], stdout=subprocess.PIPE, shell=False)
response = child.communicate()[0]
thepid = [int(pid) for pid in response.split()][0]
os.kill(thepid, signal.SIGTERM)
killit = kill_process_pid("authd")
Подробнее здесь: https://stackoverflow.com/questions/792 ... n-on-macos
Мобильная версия