admin管理员组

文章数量:1224384

简洁版本:

>在带有PID的Windows中,我的程序需要确定我的进程是否仍在运行/运行.

在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的功能,命令行或其他方式,只是使我的系统能够查明它是否正在运行.

解决方法:

如果您只需要ps aux | grep PID,请尝试任务列表/ nh / fi“ pid eq PID”.

标签:cmd,windows,java,php

来源: https://codeday.me/bug/20191118/2029800.html

本文标签: 进程命令javaWindows