tetreum/process-monitor

PHP 系统进程监控与管理工具

v1.3 2021-02-26 08:10 UTC

This package is auto-updated.

Last update: 2024-09-26 15:50:11 UTC


README

在 Linux 和 Windows 上监控和管理 PHP 系统进程(基本支持)。

安装

composer require tetreum/process-monitor "1.*"

示例

要查看所有可用的进程命令和属性,请检查:https://github.com/tetreum/ProcessMonitor/blob/master/src/Process.php

查看进程状态
use ProcessMonitor\ProcessMonitor;

$monitor = new ProcessMonitor();
$process = $monitor->search("apache");
    
if (!$process) {
    exit;
}
    echo "Apache (PID: " . $process->pid . ") is using " . $process->cpu . "% CPU and " . $process->ram . " RAM";
终止一个进程
use ProcessMonitor\ProcessMonitor;

$monitor = new ProcessMonitor();
$process = $monitor->search("rust-server");

if (!$process) {
    exit;
}
    
if ($process->defunct) {
    $process->kill();
    // or you can just kill it's childs
    // $process->killChilds();
}
同时搜索多个进程
use ProcessMonitor\ProcessMonitor;

$monitor = new ProcessMonitor();
$processList = $monitor->searchMultiple("rust-server|nginx");

您还可以查看此搜索的顶级消耗进程摘要

use ProcessMonitor\ProcessMonitor;

$monitor = new ProcessMonitor();
$result = $monitor->searchMultiple("rust-server|nginx", true);

// $result->processes contains the process list
// $result->summary:
// $result->summary["cpu"] // the most cpu consuming process
// $result->summary["defunct"] // returns any defunct process
/*
    [summary] => Array
        (
            [cpu] => ProcessMonitor\Process Object
                (
                    [user] => root
                    [pid] => 1230
                    [cpu] => 5
                    [ram] => 0.1
                    [vsz] => 15624
                    [rss] => 1412
                    [tty] => ?
                    [stat] => Ss
                    [start] => Apr13
                    [time] => 0:00
                    [command] => nginx: master process /usr/sbin/nginx
                    [defunct] =>
                    [debug:protected] =>
                )

            [defunct] =>
        )
*/

故障排除

  • 我在 Windows 上得到 "致命错误:找不到类 'COM'"

php.ini 中添加

[PHP_COM_DOTNET]
extension=php_com_dotnet.dll
  • 我不知道我的 php.ini 文件在哪里

php --ini