24 dépôts
Tools specifically designed to manage the lifecycle, clustering, and runtime environment of Node.js applications.
Distinct from Node.js Runtimes: The candidates are either too broad (ecosystem) or too narrow (clients/runtimes), lacking the process management aspect.
Explore 24 awesome GitHub repositories matching programming languages & runtimes · Node.js Process Managers. Refine with filters or upvote what's useful.
This project is a Node.js process manager, runtime environment, and production deployment orchestrator. It provides the foundational system components required to run, monitor, and restart applications in the background to ensure continuous service availability. The system distinguishes itself through a built-in load balancer that distributes network traffic across multiple process instances to utilize all available CPU cores. It includes a real-time process monitor with a terminal-based dashboard for tracking server health, CPU and memory usage, and aggregated logs. The tool covers a broad
Acts as a comprehensive process manager for Node.js applications, ensuring continuous availability through background daemonization and automatic restarts.
coc.nvim is a Node.js extension host and Language Server Protocol client that transforms Vim and Neovim into a full integrated development environment. It provides a framework for executing JavaScript and TypeScript plugins within a separate process to enable advanced IDE features without blocking the editor's main thread. The project is distinguished by its ability to host extensions and language servers through a centralized JSON configuration. It supports the installation and lifecycle management of third-party extensions from registries or local files, allowing users to customize language
Provides a separate Node.js process to run JavaScript and TypeScript plugins without freezing the editor.
Inferno is an isomorphic JavaScript framework and virtual DOM UI library used for building user interfaces. It functions as a server-side rendering engine that converts virtual nodes into HTML strings for the server and hydrates them on the client to optimize initial load speeds and search engine indexing. The framework features a synthetic event system that provides a normalized interface for handling browser interactions consistently across different web environments. It employs a reactive UI model to synchronize state-driven updates and reactive streams with the browser document object mod
Optimizes the rendering process by recording child node structures at compile time to skip expensive runtime normalization.
ShellJS is a Node.js shell command library that provides a portable Unix-like utility suite for cross-platform system automation. It serves as a cross-platform filesystem API and a process wrapper for spawning and controlling external system subprocesses. The project translates Unix shell commands into equivalent operations for the host operating system, allowing scripts to run consistently across different platforms. It supports the registration of custom commands and the integration of third-party plugins to extend its portable shell capabilities. The library covers broad capability areas
Executes system commands by wrapping native Node.js spawn and exec functions to manage external process lifecycles.
ndb is a suite of development tools for Node.js that provides runtime inspection, performance profiling, and process management. It functions as a debugger that connects Node.js execution environments to the Chrome browser debugging interface for visual state management and breakpoint control. The tool is distinguished by its ability to detect and attach to spawned child processes, maintaining debugging visibility across multiple process boundaries. It also integrates a source editor that allows users to modify code directly within the debugging interface and save those changes to disk during
Manages the lifecycle and attachment of child processes to maintain debugging visibility.
Nodeclub est un forum communautaire auto-hébergé et un système de babillard électronique construit comme une application web Node.js. Il sert de plateforme pour héberger des communautés sociales et gérer les discussions des utilisateurs. Le logiciel intègre un système de gestion de contenu basé sur le markdown pour la rédaction de posts en texte riche. Il inclut des outils pour la gestion des comptes utilisateurs, l'inscription et l'activation des comptes administratifs pour contrôler l'accès à la plateforme. Le système fournit une modération de contenu via la désinfection HTML et des limites de taux de soumission de posts. Des capacités supplémentaires incluent des notifications par email automatisées, l'intégration de Google Analytics et un pipeline de build pour compiler les assets du projet. Le déploiement en production est pris en charge via la gestion de processus pour maintenir une haute disponibilité.
Utilizes Node.js process management to ensure high availability in production environments.
node-fluent-ffmpeg est un wrapper Node.js pour FFmpeg qui fournit une interface fluide pour exécuter des commandes média et traiter des fichiers. Il fonctionne comme un gestionnaire de processus qui gère le cycle de vie des binaires FFmpeg externes, permettant le transcodage média par programmation, la génération de vignettes vidéo et l'extraction de métadonnées via ffprobe. La bibliothèque se distingue par un constructeur de commandes qui traduit les appels de méthodes JavaScript en arguments de ligne de commande. Elle dispose d'une surveillance de progression pilotée par les événements pour suivre les images traitées et le débit, ainsi que la capacité de router les données média traitées directement vers des flux inscriptibles pour un traitement en temps réel. Le projet couvre de larges capacités de traitement média, y compris la configuration d'encodage pour les propriétés audio et vidéo, des définitions de filtergraph complexes pour les effets visuels et audio, et la gestion des entrées pour concaténer plusieurs sources. Il inclut également des outils pour sonder les conteneurs et flux média afin de récupérer des métadonnées techniques.
Provides a wrapper around Node.js child_process to simplify the execution of the external FFmpeg binary.
Concurrently is a Node.js process manager and concurrent process runner designed to execute multiple shell commands simultaneously within a single terminal session. It provides core primitives for managing the lifecycles of child processes, coordinating parallel tasks, and establishing communication bridges to exchange data between parent and child processes. The tool features an ANSI terminal output formatter that styles process logs using custom prefixes, timestamps, and colors to differentiate between multiple output streams. It includes utilities for detecting terminal color depth and con
Coordinates the lifecycles of child processes with specific support for the Node.js runtime environment.
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
Provides a promise-based wrapper for the Node.js child_process module to simplify the execution of external commands and binaries.
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
Provides a non-blocking execution layer for running shell commands within a Python event loop.
gm is a JavaScript image processing library and Node.js manipulation tool that serves as a programmatic wrapper for the GraphicsMagick engine. It translates JavaScript method calls into shell commands to automate the resizing, cropping, and transformation of images. The library provides an interface to execute specific GraphicsMagick operations while allowing raw command passthrough for custom arguments or engine features not covered by the standard API. Its capabilities cover geometric manipulation, color and tone adjustment, and image quality optimization. It includes tools for image compo
Implements non-blocking wrappers for external GraphicsMagick binaries to maintain Node.js event loop responsiveness.
This project is a learning guide and collection of study notes designed to teach Node.js backend development. It provides a comprehensive core API reference and practical demonstrations for implementing server-side logic, network programming, and system APIs. The guide specifically covers advanced technical domains including process management for scaling applications via clusters and child processes, as well as network programming for building TCP, UDP, and HTTP services. It also includes detailed instructional material on security implementation, focusing on cryptographic hashing and encryp
Provides guidance on controlling child processes, clusters, and inter-process communication to scale applications.
Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O tasks. It provides a cooperative networking framework for building asynchronous TCP, UDP, and HTTP servers, as well as a WSGI web server implementation for hosting web applications. The project is distinguished by its standard library monkey-patching tool, which replaces blocking synchronous functions with cooperative versions to enable asynchronous behavior in third-party code. This allows for a cooperative multitasking workflow where the system yields execution during I/O waits t
Handles child process creation and reinitializes the event loop hub to maintain asynchronous operations after forking.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Teaches process creation via fork, duplicating the calling process for parallel execution.
CliWrap est une bibliothèque de gestion de processus asynchrones et un wrapper de processus enfants, utilisée pour exécuter des commandes externes et intégrer des interfaces en ligne de commande dans des applications. Elle fournit un framework pour lancer des programmes externes via des patterns asynchrones, gérer les processus enfants et valider les codes de sortie. La bibliothèque se distingue par sa capacité à router les flux d'entrée, de sortie et d'erreur standard vers des buffers en mémoire ou des flux d'événements en temps réel. Elle permet le monitoring en temps réel des lignes de sortie des processus et prend en charge la terminaison des processus via des jetons d'annulation (cancellation tokens). Le projet couvre un large éventail de capacités de gestion de processus externes, incluant la configuration des variables d'environnement, la redirection des flux standard et la capture de la sortie des processus pour une utilisation en tant que données au sein d'une application.
Provides wrappers around native process spawning to manage the lifecycle of external commands asynchronously.
Ce projet est un outil de codage ludique et une extension Visual Studio Code qui fournit un retour auditif en jouant des effets sonores et des compliments lorsque des mots-clés spécifiques sont saisis dans l'éditeur. Il fonctionne comme un déclencheur sonore basé sur des mots-clés qui surveille la saisie de texte en temps réel pour jouer des échantillons audio lorsque des modèles de code définis sont détectés. L'extension se concentre sur une expérience de développement ludique, utilisant des récompenses audio et un renforcement positif pour rendre le processus de programmation plus engageant. Elle intègre un support pour le bien-être des développeurs en utilisant des déclencheurs auditifs positifs pour influencer l'humeur et l'état mental du programmeur. L'outil offre une personnalisation générale de l'éditeur grâce à un retour auditif, délivrant des alertes sonores immédiates basées sur la saisie au clavier de l'utilisateur et les modèles de documents actifs.
Utilizes a dedicated runtime process to handle logic without blocking the editor's primary user interface thread.
Kraken-js est un gestionnaire de serveur et un framework d'application piloté par la configuration pour amorcer des applications web Node.js. Il fournit un système pour définir le comportement du serveur, les chaînes de middleware et les paramètres d'environnement via des fichiers JSON plutôt que par du code manuel. Le framework se concentre sur la séparation de la logique applicative et de la configuration de l'infrastructure en résolvant et en injectant des middlewares dans la chaîne de requête en fonction d'une configuration externe. Il utilise une fusion de configuration basée sur l'environnement pour remplacer les paramètres de base par des valeurs spécifiques au contexte lors du démarrage. Le système assure la sécurité du serveur grâce à l'application automatique d'en-têtes de sécurité et de protections contre les vulnérabilités courantes. Il gère également le cycle de vie de l'application, y compris la gestion des exceptions non interceptées, l'émission d'événements de cycle de vie et l'exécution d'arrêts propres via des signaux de terminaison système.
Manages the runtime lifecycle, exception handling, and process termination of Node.js applications.
Invoke is a Python task automation library used to define and run named Python functions as command-line tasks. It provides a system for mapping functions to executable commands, enabling the automation of repetitive development workflows and the orchestration of build pipelines. The project implements a namespace-based task hierarchy, allowing related tasks to be grouped into nested collections for a structured command-line interface. It utilizes a layered configuration resolution system to merge settings from environment variables, configuration files, and defaults. The toolset includes sh
Wraps subprocess calls to capture output and manage the lifecycle of external system commands.
node-supervisor is a process supervisor and manager for Node.js applications. It provides automated lifecycle management and crash recovery by executing programs and monitoring their status to ensure continuous availability. The utility implements a hot-reloading workflow by monitoring the filesystem for source code modifications. When changes are detected, the supervisor terminates the existing process and triggers an immediate restart to apply updates. The tool covers process control capabilities including the spawning of external executables, signal-based termination, and the piping of st
Manages the lifecycle and automatic restarts of Node.js applications to ensure high availability.
Cette bibliothèque fournit un framework de planification de tâches pour les applications Node.js, permettant l'automatisation d'opérations récurrentes en utilisant la syntaxe cron standard. Elle fonctionne comme un gestionnaire de tâches en arrière-plan qui maintient un registre d'état des jobs, permettant l'inspection, la modification et le contrôle du cycle de vie des opérations planifiées au moment de l'exécution. Le projet se distingue par son support des environnements distribués et de la gestion des ressources. Il inclut des mécanismes pour coordonner les tâches sur plusieurs instances d'application, garantissant que le travail planifié s'exécute exactement une fois pour éviter les chevauchements ou les contentions de ressources. Pour maintenir la réactivité de l'application, il peut décharger la logique intensive vers des processus enfants isolés, empêchant la boucle d'événements principale de se bloquer lors d'une exécution lourde. La bibliothèque offre une suite complète d'outils d'observabilité et de configuration, incluant la surveillance du cycle de vie pilotée par les événements, la planification tenant compte des fuseaux horaires et la gestion du timing d'exécution. Elle fonctionne comme un runtime sans dépendance, ce qui minimise la surface d'attaque de sécurité et simplifie l'intégration dans des environnements restreints.
Spawns independent child processes to execute resource-intensive logic without blocking the main application event loop.