Skip to content

Commit c3ad9b3

Browse files
committed
Support non-heartbeat processes
1 parent 926685b commit c3ad9b3

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

README.md

+8-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The Process Watchdog is a Linux-based utility designed to start, monitor and man
1111
## Overview
1212
This application acts as a vigilant guardian for your critical processes, ensuring they remain operational at all times. It accomplishes this task by regularly monitoring the specified processes and taking appropriate actions if any anomalies are detected. The primary function of this application is to ensure that the managed processes remain active, restarting them if they crash or stop sending heartbeat messages.
1313

14-
This application is particularly useful in environments where multiple processes need to be constantly running, such as server systems, clouds or embedded devices. It operates based on the principle that each monitored process should periodically send heartbeat messages. If a process fails to send a heartbeat within the specified time interval, the watchdog manager assumes the process has halted/hang and automatically restarts it.
14+
This application is particularly useful in environments where multiple processes need to be constantly running, such as server systems, clouds or embedded devices. It operates based on the principle that each monitored process should periodically send heartbeat messages. If a process fails to send a heartbeat within the specified time interval, the watchdog manager assumes the process has halted/hang and automatically restarts it. However there is also support for non-heartbeat sending processes.
1515

1616
## Features
1717
- Starts and monitors specified processes listed in a configuration file.
@@ -22,9 +22,13 @@ This application is particularly useful in environments where multiple processes
2222
- Generates statistics log files to track the status and history of each managed process.
2323

2424
## Requirements
25-
- Processes managed by Process Watchdog must periodically send their heartbeat messages to prevent being restarted.
25+
- If `heartbeat_interval > 0` : Processes managed by Process Watchdog must periodically send their heartbeat messages to prevent being restarted.
2626
- Configuration file `config.ini` in the same directory with details about the processes to be managed and the UDP port for communication.
2727

28+
## Non-heartbeat sending processes
29+
Process Watchdog is also supports non-heartbeat sending processes.
30+
Set the `heartbeat_interval` config to zero to skip heartbeat checks for given processes.
31+
2832
## Configuration File : `config.ini`
2933
An example configuration file looks like this:
3034

@@ -64,11 +68,11 @@ n_apps = 4
6468
- `name` : Name of the application.
6569
- `start_delay` : Delay in seconds before starting the application.
6670
- `heartbeat_delay` : Time in seconds to wait before expecting a heartbeat from the application.
67-
- `heartbeat_interval` : Maximum time period in seconds between heartbeats.
71+
- `heartbeat_interval` : Maximum time period in seconds between heartbeats (`0`:disables heartbeat checks).
6872
- `cmd` : Command to start the application.
6973

7074
## Heartbeat Message
71-
A heartbeat message is a UDP packet with the process ID (`PID`) prefixed by `p` (e.g., `p12345` for PID `12345`). It is sent periodically by every managed process to a specified UDP port.
75+
For heartbeat sending processes : A heartbeat message is a UDP packet with the process ID (`PID`) prefixed by `p` (e.g., `p12345` for PID `12345`). It is sent periodically by every managed process to a specified UDP port.
7276

7377
Below are example heartbeat message codes in various languages:
7478

0 commit comments

Comments
 (0)