awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
symfony avatar

symfony/process

0
View on GitHub↗
7,463 estrellas·105 forks·PHP·MIT·10 vistassymfony.com/process↗

Process

Symfony Process is a PHP library for executing external commands in separate operating-system processes with full lifecycle control. It provides a cross-platform command executor that handles OS-specific argument escaping and process management, enabling portable subprocess execution from PHP applications.

The library supports both synchronous and asynchronous process execution, allowing background subprocesses to run independently while the main PHP script continues. It includes executable path resolution to locate system commands across standard search directories, stream-based I/O pipes for real-time reading and writing to subprocess stdin, stdout, and stderr, and timeout-driven process termination with configurable limits. Signal dispatch abstraction enables sending POSIX signals to subprocesses with platform-specific handling, while the PHP code isolation runner can execute PHP snippets in separate processes with independent configuration and environment.

Additional capabilities include setting environment variables for subprocesses, stopping running processes with optional timeout and specific signals, and streaming process output incrementally using iterators or callbacks. The library also provides executable discovery to find absolute paths of system commands and binaries across different operating systems.

Features

  • Subprocess Executions - Executes external commands in separate operating-system processes with full lifecycle control.
  • Shell Argument Escapers - Escapes shell arguments and command strings to prevent injection and handle OS-specific quoting rules.
  • Portable Command Executors - Handles OS-specific argument escaping and process management for portable command execution.
  • Executable Locators - Locates the absolute path of a command or binary by searching standard and custom directories.
  • Isolated Process Runners - Runs PHP snippets in isolated subprocesses with independent configuration and environment.
  • Synchronous Subprocess Runners - Runs an external command in a separate process and waits for it to finish.
  • Subprocess Execution - Executes an external command in a separate process, handling OS differences and argument escaping.
  • Process Execution Wrappers - Wraps OS fork/exec system calls to run external commands in a separate process with full lifecycle control.
  • Process Input Streaming - Provides writable streams that send data to the standard input of running processes.
  • Execution Timeouts - Limits how long a subprocess may run before it is automatically terminated.
  • Background Process Offloading - Starts a subprocess and lets it run in the background while the main program continues.
  • Process Output Iteration - Reads command output incrementally as it is produced, using an iterator or a callback.
  • I/O Stream Configuration - Connects subprocess stdin, stdout, and stderr as PHP streams for real-time reading and writing.
  • Individual Process Signalers - Transmits a POSIX signal to an asynchronous subprocess with the option to ignore certain signals.
  • Process Termination Signals - Sends POSIX signals to subprocesses for graceful shutdown and timeout-based termination.
  • Timeout-Driven Terminators - Automatically terminates a subprocess after a configurable timeout duration.
  • Subprocess Management Libraries - Provides high-level programmatic control over the execution, lifecycles, and timeouts of external system processes.
  • Executable Locators - Searches system paths to identify the location of required binaries.
  • Process Signal Dispatchers - Abstracts POSIX signal sending to subprocesses with platform-specific handling and ignore options.
  • Process Polling - Polls subprocess status in a non-blocking loop to detect completion while the main program continues.
  • Asynchronous Process Terminators - Terminates an asynchronous subprocess, optionally after a timeout and with a specific signal.
  • Subprocess Environment Injectors - Passes custom environment variables to a subprocess, optionally overriding system defaults.
  • Asynchronous Process Managers - Starts background subprocesses with timeout, signal, and streaming output support.
  • Binary Path Discovery - Locates absolute paths of system commands and binaries across standard search directories.
  • Executable Path Resolvers - Resolves command names to absolute file paths by searching system PATH and custom directories.
  • PHP Code Isolators - Spawns a separate PHP process with its own configuration to execute code in an isolated environment.

Historial de estrellas

Gráfico del historial de estrellas de symfony/processGráfico del historial de estrellas de symfony/process

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Process

Proyectos open-source similares, clasificados según cuántas características comparten con Process.
  • sindresorhus/execaAvatar de sindresorhus

    sindresorhus/execa

    7,517Ver en GitHub↗

    Execa is a promise-based process execution library that serves as a wrapper for the Node.js child process module. It functions as a shell command runner and subprocess management tool, simplifying the execution of external commands and binaries. The library distinguishes itself through automatic argument escaping to prevent shell injection and the use of abort signals for graceful process termination. It also provides an inter-process communication wrapper for exchanging structured JSON data and messages between parent and child processes. Its capabilities cover a broad range of process I/O

    JavaScript
    Ver en GitHub↗7,517
  • superradcompany/microsandboxAvatar de superradcompany

    superradcompany/microsandbox

    6,570Ver en GitHub↗

    Microsandbox is a runtime for creating and managing lightweight, hardware-isolated virtual machines — called sandboxes — that boot directly from standard OCI container images. Each sandbox runs as its own host process with a separate kernel, filesystem, and network stack, providing process-per-sandbox isolation. The project includes a command-line tool and multi-language SDKs (Rust, TypeScript, Python, Go) for programmatic lifecycle control, and it communicates with sandbox agents over Unix sockets using a CBOR-encoded protocol. What distinguishes Microsandbox is its combination of host-manag

    Rust
    Ver en GitHub↗6,570
  • amoffat/shAvatar de amoffat

    amoffat/sh

    7,231Ver en GitHub↗

    sh is a Python process management library that provides programmatic wrappers and interfaces for controlling Unix system commands and child process lifecycles. It functions as an asynchronous process wrapper, allowing shell commands and system programs to run within a non-blocking event loop. The library maps command-line arguments and standard input/output streams to native Python functions and objects. It includes a process lifecycle controller to manage signal groups, execution timeouts, and process permissions for spawned child processes. The project provides capabilities for executable

    Pythondevopspythonsubprocess
    Ver en GitHub↗7,231
  • moonrepo/moonAvatar de moonrepo

    moonrepo/moon

    3,687Ver en GitHub↗

    Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It functions as a dependency graph orchestrator that executes build targets in topological order and utilizes input hashing to cache results and skip redundant work. The project features a polyglot toolchain manager that automates the installation and versioning of language runtimes and CLI tools to ensure environment consistency. It also includes a plugin framework based on WebAssembly, allowing developers to extend build logic and toolchain behavior using any supported language.

    Rustbuild-systembuild-toolbun
    Ver en GitHub↗3,687
Ver las 30 alternativas a Process→

Preguntas frecuentes

¿Qué hace symfony/process?

Symfony Process is a PHP library for executing external commands in separate operating-system processes with full lifecycle control. It provides a cross-platform command executor that handles OS-specific argument escaping and process management, enabling portable subprocess execution from PHP applications.

¿Cuáles son las características principales de symfony/process?

Las características principales de symfony/process son: Subprocess Executions, Shell Argument Escapers, Portable Command Executors, Executable Locators, Isolated Process Runners, Synchronous Subprocess Runners, Subprocess Execution, Process Execution Wrappers.

¿Qué alternativas de código abierto existen para symfony/process?

Las alternativas de código abierto para symfony/process incluyen: sindresorhus/execa — Execa is a promise-based process execution library that serves as a wrapper for the Node.js child process module. It… superradcompany/microsandbox — Microsandbox is a runtime for creating and managing lightweight, hardware-isolated virtual machines — called sandboxes… amoffat/sh — sh is a Python process management library that provides programmatic wrappers and interfaces for controlling Unix… moonrepo/moon — Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It… missing-semester-cn/missing-semester-cn.github.io — This is an open-source educational website that translates and localizes MIT's Missing Semester course, teaching… apache/nuttx — NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit…