Я изучаю, есть ли способ программно проверить, работает ли какой-то процесс как процесс (в списке запуска exe) И как открытое приложение (то есть на панели задач), и предпринимайте действия на основе результатов.
Кроме того, есть ли способ программно убить процесс или запущенное приложение?
Мы используем приложение WAMP на этом сервере, поэтому в идеале я бы хотел сделать это с помощью PHP, но я открыт для того, что будет работать лучше всего.
Любой совет?
проверьте, работает ли какой-либо процесс как процесс
Если у вас есть команда tasklist, убедитесь:
// show tasks, redirect errors to NUL (hide errors) exec("tasklist 2>NUL", $task_list); print_r($task_list);
Затем вы можете убить его, используя сопоставление / извлечение имен задач из строк.
exec("taskkill /F /IM killme.exe 2>NUL");
Я использовал это много с php-cli. Пример:
// kill tasks matching $kill_pattern = '~(helpctr|jqs|javaw?|iexplore|acrord32)\.exe~i'; // get tasklist $task_list = array(); exec("tasklist 2>NUL", $task_list); foreach ($task_list AS $task_line) { if (preg_match($kill_pattern, $task_line, $out)) { echo "=> Detected: ".$out[1]."\n Sending term signal!\n"; exec("taskkill /F /IM ".$out[1].".exe 2>NUL"); } }