34 repository-uri
Utilities for sending OS-level signals to manage and terminate system processes.
Distinct from Process Signal Forwarding: The candidates focus on digital signal processing or signal forwarding, not the act of triggering process termination signals.
Explore 34 awesome GitHub repositories matching operating systems & systems programming · Process Signal Management. Refine with filters or upvote what's useful.
WinSW is an executable service wrapper that transforms standard executables into background Windows services. It provides a mechanism to register arbitrary files as system services managed by the Windows operating system, ensuring applications can start automatically on boot and restart following a crash. The project includes a command-line interface for registering, starting, stopping, and monitoring the status of these processes. It handles the translation of Windows Service Control Manager signals into process termination requests for the wrapped executable. The system supports XML-based
Implements utilities to translate Windows Service Control Manager signals into process termination requests.
Bashtop is a terminal-based system monitor and resource dashboard for Unix systems, including Linux, macOS, and FreeBSD. It provides a text-user interface for tracking real-time hardware performance and managing system processes. The tool functions as a hardware dashboard that visualizes processor, memory, disk, and network usage. It includes process management capabilities that allow users to filter, sort, and terminate active system tasks directly from the command line. Users can customize the visual appearance and behavior of the monitor through integrated menus or local configuration fil
Allows users to terminate unresponsive system tasks by triggering OS-level signals directly from the interface.
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
Provides mechanisms to end process execution and send termination signals using process IDs.
This repository contains the complete source code for a Unix-like operating system, including the monolithic kernel and base system utilities. It provides a BSD-derived system core and a full build toolchain required to compile a functional operating system for servers, desktops, or embedded devices. The system features a Linux binary compatibility layer that enables the execution and emulation of Linux binaries on a non-Linux platform. It also includes a modular kernel configuration process to tailor hardware support and system features during compilation. The project covers broad system ca
Provides utilities for sending OS-level signals to manage and terminate system processes.
Async-profiler este o suită de instrumente de performanță concepute pentru eșantionarea runtime-urilor Java, urmărirea alocărilor de memorie și monitorizarea contoarelor hardware. Funcționează ca un profiler de eșantionare cu overhead redus pentru aplicațiile Java, colectând stack trace-uri și date de alocare a memoriei fără bias de safepoint. Proiectul oferă utilitare specializate pentru generarea de flame graph-uri interactive pentru a vizualiza hotspot-urile de execuție într-un browser web. Include un monitor de contor de performanță hardware pentru a urmări evenimentele de sistem de nivel scăzut, cum ar fi cache misses și page faults. Setul de instrumente acoperă mai multe domenii de diagnosticare, inclusiv profilarea utilizării CPU pentru a identifica metodele hot, urmărirea alocării memoriei pentru heap și leak-uri native, și analiza contenciei thread-urilor pentru a descoperi blocajele de sincronizare între diferite straturi ale sistemului.
Uses Unix signals to trigger stack trace collection across threads to avoid safepoint bias.
Supervisor is a process control system for Unix environments that ensures background processes remain running by automatically restarting them if they crash or exit. It functions as a daemon manager that provides a centralized way to start, stop, and monitor the lifecycle of long-running background tasks. The system utilizes a client-server architecture to control multiple processes through a command line interface. This allows for the orchestration of system services and background daemon control without requiring manual shell intervention. The tool covers application process supervision an
Manages process lifecycles and termination by sending standard POSIX signals to child process groups.
This project provides official container images for the Node.js runtime and its package managers. It serves as a containerized JavaScript runtime that bundles the engine and dependencies to ensure consistent application execution across different CPU architectures and operating systems. The project offers a range of Linux-based runtime images, including full, slim, and minimal distributions, allowing users to balance package availability against disk footprint. To improve security, it provides a non-root application environment that executes processes as an unprivileged user. The available i
Uses a lightweight init process to manage and forward OS-level signals to the running application.
Endlessh is an SSH tarpit and network honeypot designed to mitigate automated SSH brute force attacks. It acts as a defensive layer that protects servers by diverting malicious connection attempts into a slow-motion trap. The project implements a tarpit by sending endless, throttled banners to clients, which keeps connections open indefinitely to occupy attacker resources and slow down network scans. The service includes connection rate limiting to prevent system resource exhaustion and provides monitoring through connection activity and diagnostic data logging to system logs. Process manage
Uses OS-level signals to trigger configuration reloads and statistics reporting without interrupting the main loop.
This project is a comprehensive educational resource and curriculum focused on site reliability engineering, distributed systems, and infrastructure operations. It provides technical guides, a systems engineering course, and instructional manuals designed to teach the principles of managing large-scale computing environments. The curriculum covers high-level architectural design for scalability and resilience, including fault-tolerant infrastructure, high-availability patterns, and microservices decomposition. It emphasizes the practical application of site reliability engineering through the
Provides instruction on triggering software interrupts in target processes using system calls.
Gotop is a terminal-based system monitor and resource dashboard built with the Go programming language. It serves as a text-based user interface for real-time tracking of hardware resources, network activity, and running processes. The application provides a performance dashboard featuring graphical widgets for CPU and memory metrics. It includes a process manager that allows users to list, sort, and terminate active system processes based on their resource consumption. The interface supports customization through theme styling and layout configurations, enabling users to adjust color scheme
Provides utilities for sending OS-level signals to specific process identifiers to terminate or modify tasks.
This is an open-source educational website that translates and localizes MIT's Missing Semester course, teaching practical computing skills for computer science students. The curriculum covers developer tooling, shell scripting, version control, security fundamentals, and open-source collaboration, with a focus on core computing skills including data processing pipelines, workflow automation, secure remote access, shell productivity, Vim editing, and Git version control. The project distinguishes itself by teaching command-line mastery, shell scripting, and automation to boost daily developer
Teaches sending OS-level signals like SIGINT and SIGTERM to control processes.
Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing non-blocking network and disk operations through a centralized event loop and task scheduler. The library is built on a structured concurrency model, which ensures that asynchronous tasks are bound to a specific lifetime and cannot outlive the scope that started them. It utilizes a nursery-based task manager to track task lifecycles in a parent-child tree, preventing orphaned concurrent operations by requiring child tasks to be joined before their parent scope exits. The framework cover
Processes OS-level interrupt signals to ensure concurrent tasks shut down cleanly without leaving orphaned processes.
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
Sends signals to entire process groups to ensure synchronized termination of spawned tasks.
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
Implements utilities for sending OS-level signals to manage and terminate system processes.
Sends operating system signals such as kill to selected GPU processes with a single keystroke.
Manage Procfile-based applications
Sends a custom Unix signal to a process when stopping or restarting it, overriding the default SIGTERM.
go-plugin is a framework for implementing plugin architectures where extensions run as separate processes and communicate via a Go RPC plugin system. It functions as an inter-process communication library and lifecycle manager that allows host applications to discover, launch, and monitor external binary plugins. The framework enables cross-language plugin systems, allowing plugins written in different languages to integrate with a host through standardized RPC protocols. It features a bidirectional RPC bridge that allows both the host and the plugin to exchange interface implementations for
Enables host upgrades without restarting plugin processes by connecting the new host to the existing plugin.
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
Explains how signal dispositions are inherited across fork, a key concept in the textbook's process management coverage.
entr este un instrument în linie de comandă și un orchestrator de comenzi shell care execută comenzi terminale arbitrare automat ori de câte ori fișierele monitorizate sunt modificate. Servește ca un monitor de sistem de fișiere Unix care mapează evenimentele sistemului de fișiere la execuția comenzilor shell definite de utilizator. Utilitarul funcționează ca un automatizator al fluxului de lucru de dezvoltare prin repornirea proceselor de fundal și reîmprospătarea output-ului consolei pentru a oferi feedback imediat în timpul codării. Poate termina și reporni servicii de lungă durată atunci când configurația sau codul sursă este actualizat. Proiectul acoperă execuția automatizată a sarcinilor și testarea integrării continue prin rularea de scripturi sau suite de teste ca răspuns la modificările fișierelor. Include, de asemenea, capabilități pentru monitorizarea directoarelor pentru a detecta fișiere noi și utilitare pentru ștergerea output-ului consolei pentru a menține lizibilitatea. Utilizatorii pot implementa mesaje de stare personalizate utilizând scripturi externe pentru a procesa și filtra output-ul comenzilor.
Manages the termination of background child processes using OS signals to ensure clean restarts.
Webmin is a web-based administration interface for Unix systems. It provides a centralized console for managing the full range of server administration tasks — users and groups, software packages, storage, network configuration, system services, and security — all through a browser. Its modular architecture allows separate modules to handle databases (MySQL, MariaDB, PostgreSQL), web servers (Apache), DNS (BIND), email (Sendmail, Dovecot), file sharing (Samba, NFS), and more, with a unified access control system that restricts what each administrator can see and do. What sets Webmin apart is
Sends a Unix signal such as TERM, KILL, HUP, STOP, or CONT to a running process to control its behavior.