检测Windows进程和应用程序是否正在运行

drs*_*ltz 2 php windows quickbooks taskbar process

我们正在调查,如果有一种方法,如果某个进程正在运行的进程(运行exe文件的列表)以编程方式检查作为一个开放的应用程序(即在任务栏上)成果的基础上,并采取行动.

另外 - 有没有办法以编程方式杀死进程正在运行的应用程序?

我们正在这台服务器上运行一个WAMP应用程序,所以理想情况下我想要一种使用PHP来实现这一目标的方法,但我愿意接受最好的工作.

有什么建议?

小智 9

检查某个进程是否作为进程运行

如果您有tasklist命令,请确保:

// show tasks, redirect errors to NUL (hide errors)
exec("tasklist 2>NUL", $task_list);

print_r($task_list);
Run Code Online (Sandbox Code Playgroud)

然后你可以通过匹配/提取行中的任务名来杀死它.

exec("taskkill /F /IM killme.exe 2>NUL");
Run Code Online (Sandbox Code Playgroud)

我用了很多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");
  }
}
Run Code Online (Sandbox Code Playgroud)