Как завершить приложение, открытое подпроцессом PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как завершить приложение, открытое подпроцессом Python

Сообщение Anonymous »

Я пытаюсь открыть PDF-файл с помощью приложения по умолчанию на MacOS, то есть предварительного просмотра, с помощью

Код: Выделить всё

import subprocess
doc = subprocess.Popen(['open', 'path_to_doc.pdf'])
и закройте его.
Я пробовал решения, описанные в разделе «Как завершить подпроцесс Python, запущенный с помощью оболочки = True». но ни один из них не работает.

Код: Выделить всё

process = psutil.Process(doc.pid)
результат psutil.Process(pid=6994, name='open', status='zombie', start='12:07:11'). process.children(recursive=True) пуст.

Код: Выделить всё

os.getpgid(doc.pid)
приводит к ProcessLookupError: [Ошибка 3]Нет такого процесса. Проверив Activity Monitor (приложение для просмотра процессов), я обнаружил, что pid приложения всегда равен doc.pid+1. Если doc.pid == 6994, pid приложения равен 6995. Я могу закрыть приложение с помощью os.killpg(doc.pid+1, signal.SIGTERM), но это кажется субъективным и не всегда может сработать.
Я знаю об этом osascript на MacOS для закрытия приложений, например, с помощью кода

Код: Выделить всё

clo = subprocess.Popen(['osascript', '-e', '''quit app "preview"'''])
Однако мне хотелось бы найти решение для разных платформ.

Подробнее здесь: https://stackoverflow.com/questions/790 ... subprocess
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как завершить приложение, открытое подпроцессом Python
    Anonymous » » в форуме Linux
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как завершить приложение, открытое подпроцессом Python
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Веб-приложение VB .NET — открытое приложение для Android
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Python — приложение Tkinter, проблемы при вызове сценариев с подпроцессом
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Проблема с подпроцессом.Popen в Python 3
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»