我正在调查是否有办法以编程方式检查某个进程是否作为进程(在运行的 exe 列表中)和作为打开的应用程序(即在任务栏上)运行,并根据结果采取行动。
另外-有没有办法以编程方式杀死进程或正在运行的应用程序?
我们正在这台服务器上运行一个 WAMP 应用程序,所以理想情况下我想要一种使用 PHP 的方法,但我愿意接受任何最有效的方法。
有什么建议吗?
我正在调查是否有办法以编程方式检查某个进程是否作为进程(在运行的 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");
}
}