3

特定のプロセスがプロセスとして (実行中の exe のリストで) 実行されているかどうか、および開いているアプリケーション (つまり、タスクバーで) として実行されているかどうかをプログラムで確認し、結果に基づいてアクションを実行する方法があるかどうかを調査しています。

また、プロセスまたは実行中のアプリケーションをプログラムで強制終了する方法はありますか?

このサーバーでWAMPアプリケーションを実行しているので、理想的にはPHPを使用してこれを行う方法が欲しいのですが、最適に機能するものは何でも受け入れます。

何かアドバイス?

4

1 に答える 1

9

特定のプロセスがプロセスとして実行されているかどうかを確認します

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");
  }
}
于 2012-11-30T16:15:47.310 に答える