This project provides a robust process supervision solution built with Spring Boot 3.x. It offers functionality to:
-
Monitor process status and health
-
Manage process lifecycle (start, stop, restart)
-
Collect system metrics (CPU, memory usage)
-
Provide REST API for process management
-
Support multiple health check types including HTTP, TCP port, Spring Boot Actuator, and command-line execution checks
-
Process Management
-
Start/Stop/Restart processes
-
Graceful shutdown support with configurable timeout
-
Working directory and environment variables configuration
-
Command-line arguments support
-
-
Health Monitoring
-
HTTP endpoint health checks
-
TCP port availability checks
-
Spring Boot Actuator integration
-
Custom command-line health checks
-
Configurable check intervals
-
-
Logging
-
Separate stdout and stderr log files
-
Configurable log rotation
-
Application-specific log paths
-
Append or overwrite log modes
-
-
jsupervisor: Core supervisor implementation with process management capabilities
-
spring-boot-test-app: Test application for demonstrating supervisor functionality
-
Spring Boot 3.5.x
-
OSHI (Operating System and Hardware Information)
-
Maven
-
Lombok
-
SpringDoc OpenAPI
-
Spring Validation
-
Spring Web
Licensed under Apache 2.0 License.