У меня Windows-сервер под управлением PHP + Apache
PHP-скрипт следит за определенными процессами (у меня есть список PID), и я могу использовать несколько Win32 API, чтобы узнать о них несколько вещей.
Например:
$obj = new COM('winmgmts://localhost/root/CIMV2');
$list = $obj->ExecQuery('Select * from Win32_Process');
foreach($list as $item){
echo $item->CommandLine,"\n";
}
Некоторые процессы прослушивают некоторые порты, и я хочу выяснить, какой процесс прослушивает какой порт.
Я немного обыскал и прочитал, что методы GetExtendedTcpTable
и GetExtendedUdpTable
могут помочь мне в этом. Я читал, что они также являются частью Win32 API, однако я понятия не имею, как я мог бы вызывать эти методы из PHP (или, если вообще возможно).
Я также читал о netstat -a -b -n
, который я мог бы вызвать с помощью функции exec
, но я думаю, что запрос его через Win32 API был бы намного чище и быстрее, чем анализ результатов программы командной строки.