PHPackages                             nabeghe/process-finger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nabeghe/process-finger

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nabeghe/process-finger
======================

A PHP library providing utilities to inspect, manage, and interact with system processes across 🐧 Linux, 🍎 Mac, BSD, and 🪟 Windows.

v0.1.1(4mo ago)03MITPHPPHP &gt;=7.4

Since Dec 18Pushed 3mo agoCompare

[ Source](https://github.com/nabeghe/process-finger-php)[ Packagist](https://packagist.org/packages/nabeghe/process-finger)[ Docs](https://github.com/nabeghe/process-finger-php)[ RSS](/packages/nabeghe-process-finger/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

Process Finger
==============

[](#process-finger)

**Process Finger** is a PHP utility library for interacting with system processes. It provides a unified, cross-platform interface to retrieve process information, manage processes, and inspect system resources.

> ⚠️ **Warning:** This library can terminate processes and manipulate system resources. Use responsibly. Improper usage may cause data loss or system instability.

Features
--------

[](#features)

- Get current process ID and parent process ID
- Retrieve process script paths and process names
- Check if a process exists or is running as root/admin
- Detect zombie processes
- Retrieve memory and CPU usage of processes
- List child processes of a given PID
- Kill, wait for, and restart processes
- Access environment variables of processes (Unix only)
- Fully compatible with Linux, macOS, BSD, and Windows (with limitations)

Installation
------------

[](#installation)

Via Composer:

```
composer require nabeghe/process-finger
```

Or manually include the `ProcessFinger.php` file in your project.

Usage
-----

[](#usage)

```
use Nabeghe\ProcessFinger;

// Get current PID
$pid = Process::getId();

// Check if a process exists
$exists = Process::exists($pid);

// Kill a process
Process::kill($pid, true);

// Restart a process
$newPid = Process::restart($pid, 'php script.php');

// Get memory usage
$memory = Process::getMemoryUsage($pid);

// Get CPU usage
$cpu = Process::getCpuUsage($pid);

// Get process environment (Unix only)
$env = Process::getProcessEnv($pid);

// List child processes
$children = Process::listChildren($pid);

// Get process name
$name = Process::getProcessName($pid);

// Check if running as root/admin
$isRoot = Process::isRunningAsRoot();

// Check if process is zombie
$isZombie = Process::isZombie($pid);

// Wait for process to exit
Process::wait($pid, 5); // Wait up to 5 seconds
```

Methods Overview
----------------

[](#methods-overview)

MethodDescriptionNotes`getId()`Returns current process ID`getParentId(?int $pid = null)`Returns parent PIDDefaults to current process`getScriptPath(?int $pid = null)`Absolute path of the process scriptRequires `shell_exec` enabled`getProcessName(?int $pid = null)`Main command / process name`exists(int $pid)`Check if a process existsReturns true/false/null`isRunningAsRoot()`Check if current process has root/admin privilegesWindows uses `net session` command`isZombie(int $pid)`Detect zombie processesUnix only`getMemoryUsage(?int $pid = null)`Memory usage in bytes`getCpuUsage(?int $pid = null)`CPU usage percentLimited precision on Windows`getProcessEnv(?int $pid = null)`Get process environment variablesUnix only`listChildren(?int $pid = null)`List child process IDs`kill(int $pid, bool $force = true)`Terminate a processUses SIGKILL/SIGTERM on Unix, `taskkill` on Windows`wait(int $pid, int $timeout = 0)`Wait until process exitsTimeout in seconds, 0 = infinite`restart(int $pid, string $command, bool $force = true)`Kill and restart a processReturns new PID if started successfullySecurity &amp; Risks
--------------------

[](#security--risks)

- **Process Termination:** Misuse of `kill()` or `restart()` may terminate critical system processes. Always double-check PIDs before calling these methods.
- **Privilege Checks:** Running with root/admin privileges increases risk. Avoid using these methods on critical processes.
- **Environment Variables:** `getProcessEnv()` is only available on Unix-like systems. Accessing environment data may contain sensitive information.
- **Zombie Detection:** Only meaningful on Unix-like systems. Windows does not support zombie processes.
- **Cross-Platform Differences:** Some commands behave differently on Windows vs Linux/macOS. Always test on your target OS.

📖 License
---------

[](#-license)

Licensed under the MIT license, see [LICENSE.md](LICENSE.md) for details.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance77

Regular maintenance activity

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~15 days

Total

2

Last Release

136d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/dae1bf378bcf40fe55c193160377d613d628188587554a3fb11cdec6f0521ba1?d=identicon)[nabeghe](/maintainers/nabeghe)

---

Top Contributors

[![nabeghe](https://avatars.githubusercontent.com/u/12207627?v=4)](https://github.com/nabeghe "nabeghe (3 commits)")

---

Tags

phpprocessmemoryCPUsystempidprocess-managementprocess info

### Embed Badge

![Health badge](/badges/nabeghe-process-finger/health.svg)

```
[![Health](https://phpackages.com/badges/nabeghe-process-finger/health.svg)](https://phpackages.com/packages/nabeghe-process-finger)
```

###  Alternatives

[php-lrpm/php-lrpm

PHP Long Running Process Manager

187.8k1](/packages/php-lrpm-php-lrpm)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
