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

Я пытаюсь проверить, работает ли сценарий Python в PHP, но не знаю, как это сделать. Я пробовал использовать базу данных: я добавил запись «запрос» со значением ответа «0», и сценарий Python должен был изменить это значение на «1», если он был в сети. Я не мог заставить это работать, поэтому теперь я спрашиваю здесь

1 Ответ

2 голосов
/ 29 мая 2020

Предполагая, что tasklist доступен, это потенциально может сработать: (в этом примере используется Windows 10)

Сначала я запустил сценарий test2.py:

enter image description here

Код 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

Знайте, что если есть другие windows, открываются с тем же также будет найдено имя сценария в заголовке окна. Например, у меня была открыта test2.py как активная вкладка в Notepad ++, и эта запись также была найдена:

enter image description here

Переход к другому файлу вкладка в Notepad ++ нашла только первую запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...