简短版本:
在linux中,我只想使用“grep pid”,所有这些都可以完成,在Windows中是这样的吗?
更长版本:
我正在Windows上制作一个php(7)系统,它运行一个蓝牙Java服务器。我的系统通过命令行运行服务器并保存PID:
$command = 'java -jar app\InterfaceBluetooth.jar /k > storage\logs\bluetoothServerToten.txt';
$descriptorspec = array (
0 => array("pipe", "r"),
1 => array("pipe", "w")
);
if(is_resource($prog = proc_open("start /b " . $command, $descriptorspec, $pipes))){
$ppid = proc_get_status($prog)['pid'];
}// IF
else{
// error stuff
exit();
}// ELSE
$output = array_filter(explode(" ", shell_exec("wmic process get parentprocessid,processid | find \"$ppid\"")));
array_pop($output);
$pid = end($output);
所以,此时进程已启动并运行,我有PID。
现在,用户可以确定服务器正在运行,这一点非常重要。在某种程度上,我的系统需要检查这个,这可以追溯到短版本。
无论如何,php 7功能,命令行或其他方式,只是对我的系统能够找出它是否正在运行。
答案 0 :(得分:2)
如果您只需要ps aux | grep PID
,请尝试tasklist /nh /fi "pid eq PID"
。
答案 1 :(得分:1)
只需执行以下命令并捕获输出:
TASKLIST /v /fi "PID eq your_pid"