craftpip / process-handler
通过名称或进程ID获取正在运行的进程列表,支持Windows和Unix
v2.0.0
2023-04-17 19:51 UTC
Requires
- php: >=8.1
- symfony/process: ^6.2
Requires (Dev)
- phpunit/phpunit: ~3.7|~4.0|~5.0
This package is not auto-updated.
Last update: 2024-09-17 02:33:08 UTC
README
通过名称或进程ID获取正在运行的进程列表,支持Windows和Unix
我很难找到一个返回操作系统进程列表的库。我的用例是查找我启动的进程是否正在运行。
用法
// Include your autoload require_once 'vendor/autoload.php'; use \Craftpip\ProcessHandler\ProcessHandler; use \Symfony\Component\Process\Process; // Initialize your library $processHandler = new ProcessHandler(); // Spawn a process and check if a process by its pid exists. $symfonyProcess = new Process('ls'); $symfonyProcess->start(); $pid = $symfonyProcess->getPid(); // 8378 $process = $processHandler->getProcess($pid); if($process){ $name = $process->getName(); $pid = $process->getPid(); $mem_used = $process->getMemUsed(); $cpu_time = $process->getCpuTime(); $session = $process->getSession(); $session_name = $process->getSessionName(); $status = $process->getStatus(); $username = $process->getUsername(); $window_title = $process->getWindowTitle(); $is_running = $process->isRunning(); /* Examples returns the following on UNIX [0] => Array ( [name] => [sh] <defunct> [pid] => 8378 [session_name] => [session] => 6065 [mem_used] => 0 KB [status] => RUNNING [username] => root [cpu_time] => 00:00:00 [window_title] => ) returns the following on WINDOWS [0] => Array ( [name] => cmd.exe [pid] => 6380 [session_name] => Console [session] => 1 [mem_used] => 3,504 K [status] => Unknown [username] => BONIFACE-PC\boniface [cpu_time] => 0:00:00 [window_title] => N/A ) returns the following on macOS [0] => Array ( [name] => (sh) [pid] => 62951 [session_name] => [session] => 0 [mem_used] => 0 KB [status] => RUNNING [username] => username [cpu_time] => 0:00.00 [window_title] => ) */ }else{ // process was not found. } // get all processes $allProcesses = $processHandler->getAllProcesses();
方法
$processHandler = new ProcessHandler(); $processHandler->getAllProcesses(); $processHandler->getProcess($pid); $processHandler->isRunning($pid);
安装
运行composer命令
composer require craftpip/process-handler
ProcessHandler可以通过Composer安装,只需将库作为依赖项添加到您的composer.json文件中。
{ "require": { "craftpip/process-handler": "~1.0" } }
贡献
请随时贡献或添加内容。
版权和许可
版权(C)2017 Boniface Pereira
在MIT许可下授权。