どのように私は、プロセスの各引数と一緒にすべてのpythonのプロセスを取得し、それを殺すことができるPHP XAMPP/Windowsの経由PHPはpythonのプロセスを取得し、それを終了します。 XAMP/Windowsの
答えて
Windows上の3つのシステムは、プロセスを取得するコマンドがあります。
tasklist
は、おそらく最も簡単です(あなたはargsにアクセスできないが)。 wmic process
あなたが得るように、あなたがPHP内system()
を使用してこのコマンドを実行する必要があります
get-process
は、その出力を見ることができない私はPowerShellの
そして、何あなたのニーズを満たす必要がありますを持っていない、PowerShellを必要とし出力は、その後、それを解析し、あなたがプロセスIDを取得するときに、それを殺すために別のシステムコマンドを使用します。
taskkill /PID 99999 #replace 99999 with the process id.
'taskkil/PID 1111#httpdプロセスIDを持つ1111 #replace 11'? – dsgdfg
はい、プロセスIDが1111の場合、コマンドは次のようになります: 'taskkill/PID 1111' –
<?php
$list = str_replace(' ','|',shell_exec('tasklist'));
$split = explode("\n", $list);
$extension = 'py';
foreach ($split as $item) {
preg_match_all('#((.*)\.'.$extension.')[\|]+([0-9]+)#',$item, $matches);
if($matches[1][0] != '' and $matches[3][0] != ''){
echo $matches[1][0].' '.shell_exec('Taskkill /pid '.$matches[3][0]).PHP_EOL;
}
}
shell_exec
経由でtasklist
とtaskkill
コマンドを使用できます。以下のTask
は、それらがどのようにしてタスクに関する情報を見つけるのか、それらをどのように殺すのかを示す方法を示しています。
class Task {
function __construct($header,$row) {
$this->imageName = $this->findValue($header,$row,'Image Name');
$this->processID = $this->findValue($header,$row,'PID');
$this->commandLine = $this->findValue($header,$row,'Window Title');
}
function findValue($header,$row, $key , $default = '') {
$kk = array_search($key, $header);
return $key !== -1 ? $row[$kk] : $default;
}
public $imageName = '';
public $processID = '';
public $commandLine = '';
public function kill(){
shell_exec(sprintf('taskkill /PID %s',$this->processID));
}
public static function findTask($imageName) {
$csv = shell_exec(sprintf('tasklist /FO CSV /V /FI "IMAGENAME eq %1$s"',$imageName));
$lines = explode("\n",$csv);
array_pop($lines);
if (count($lines) <= 1) {
return array();
}
$data = array_map('str_getcsv', $lines);
$tasks = array();
$header = $data[0];
for($kk = 1 ; $kk < count($data); $kk++) {
$row = $data[$kk];
if (count($row) === count($header)) {
array_push($tasks, new Task($header, $row));
}
}
return $tasks;
}
}
foreach(Task::findTask('python.exe') as $task) {
echo sprintf("%s %s %s\n", $task->imageName , $task->processID, $task->commandLine);
$task->kill();
}
- 1. パブのプロセスIDを取得すると、そのスレッド/プロセスが終了します
- 2. 任意のプロセスを待ち、Linuxでその終了コードを取得します
- 3. bashでプロセスの終了ステータスを取得
- 4. PHPはプロセスのPIDを取得し、それを殺す
- 5. pythonプロセスが終了したときにサブプロセスを終了しますか?
- 6. Pythonプロセスのシャットダウン/突然終了の警告を取得するには?
- 7. python subprocess.Popen子プロセスでのプロセスの終了
- 8. シェルスクリプト内のPHPスクリプトから終了ステータスを取得します。
- 9. Android:Androidはtcpdumpプロセスを終了します
- 10. パイプの終了時にプロセスを終了します
- 11. Pythonプログラムの終了コードを取得
- 12. PHPでパイプコマンドの終了ステータスを取得
- 13. いくつかの並列プロセスを起動し、終了後にそれらを終了させます
- 14. Tkinterプロセスがanaconda pythonで終了コード-1073741819(0xC0000005)で終了しました。3.5
- 15. プロセスは終了しましたが、そのネットワークリソースは残っています
- 16. Pythonスレッドプール - プロセスは決して終了しません
- 17. Python:プロセスを実行し、1時間以内に終了しない場合は終了します。
- 18. ulimitは終了ステータスとして0を返します...プロセスが終了したら1を得る方法?
- 19. プロセスIDを取得してnohupプロセスを強制終了するにはどうすればいいですか?
- 20. OSXはPythonを予期せずに終了し、Pythonを終了します
- 21. Pythonで "プール"を使用してプロセッサごとにプロセス時間の終了を取得する方法は?
- 22. プロセスの終了終了を待つ
- 23. ReactPHP:終了プロセスと終了プロセスの違いは何ですか?
- 24. Pythonは週の開始日と終了日を取得します
- 25. Python Pexpect pxssh終了ステータスの取得
- 26. 特定の時間に終了しない場合、Pythonプロセスを終了しますか?
- 27. WebStorm:NodeJSプロセスが終了コード0で終了しました
- 28. スクリプトを終了することなくプロセスをPythonで終了するには?
- 29. プロセスが終了する前にCGIプリントが終了します
- 30. ノードの子プロセス:常にそれ自身で終了しますか?
この問題は何ですか? http://superuser.com/questions/914782/how-do-you-list-all-processes-on-the-command-line-in-windows – m02ph3u5