Предполагая, что tasklist
доступен, это потенциально может сработать: (в этом примере используется Windows 10)
Сначала я запустил сценарий test2.py
:
![enter image description here](https://i.stack.imgur.com/HZU0q.png)
Код test2.py
просто выполняется:
from time import sleep
while True:
print('running');
sleep(3);
Затем, используя этот бит кода php: (я назвал procCheck.php
)
<?php
$tasks = [];
// Use -v to include the window title info:
exec('tasklist -v 2>NUL', $tasks);
// Check the tasks array for the script we seek:
$entry = preg_grep('/(test2\.py)/', $tasks);
if (!empty($entry)) {
foreach($entry as $value) {
echo $value . PHP_EOL;
}
}
Дает следующий результат: (одна строка в оболочке в моем окне консоли)
![enter image description here](https://i.stack.imgur.com/Apadq.png)
Знайте, что если есть другие windows, открываются с тем же также будет найдено имя сценария в заголовке окна. Например, у меня была открыта test2.py
как активная вкладка в Notepad ++, и эта запись также была найдена:
![enter image description here](https://i.stack.imgur.com/hdqDx.png)
Переход к другому файлу вкладка в Notepad ++ нашла только первую запись.