Как определить, запущен ли мой сценарий Python в терминале Windows - PullRequest
1 голос
/ 13 июля 2020

Мне нужно проверить, работает ли мой Python скрипт внутри Windows Терминала (в отличие от CMD.exe, Powershell, bash, et c.).

Как это сделать?

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

вы можете получить идентификатор родительского процесса (PID) для процесса, который запустил / породил и запустить ваш python скрипт, выполнить поиск в списке задач в windows CMD и увидеть, что этот pid принадлежит кому:

В вашем python скрипте добавьте эти строки

import psutil
my_father_pid = str(psutil.Process().ppid())
print my_father_pid   # or print(my_father_pid) in python3

Теперь найдите 'my_father_pid`, который вы получили, в списке задач:

tasklist /v  | findstr "<my_father_pid>"
0 голосов
/ 13 июля 2020

Я могу предложить такой подход:

is_windows_terminal = sys.platform == "win32" and os.environ.get("WT_SESSION")

Но может быть более чистое решение ...

...