43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								daemonitor
							 | 
						||
| 
								 | 
							
								==============================================================================
							 | 
						||
| 
								 | 
							
								(c)2007, Laurence Withers, <l@lwithers.me.uk>.
							 | 
						||
| 
								 | 
							
								Released under the GNU GPLv3. See file COPYING or 
							 | 
						||
| 
								 | 
							
								http://www.gnu.org/copyleft/gpl.html for details.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Really Quick Instructions
							 | 
						||
| 
								 | 
							
								-------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								To build: ./make.sh
							 | 
						||
| 
								 | 
							
								To install: ./make.sh install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You might want to edit 'config' first. You might also want to set
							 | 
						||
| 
								 | 
							
								'INSTALL_PREFIX', which is prepended onto the destination of any installed
							 | 
						||
| 
								 | 
							
								file.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Introduction
							 | 
						||
| 
								 | 
							
								------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Daemonitor is a daemon which starts and monitors a child process. It is
							 | 
						||
| 
								 | 
							
								intended to be used with foreground child processes (e.g. daemons with a
							 | 
						||
| 
								 | 
							
								foreground mode, or long-running processes which are always in the
							 | 
						||
| 
								 | 
							
								foreground). Taken together, the daemonitor instance and its child process
							 | 
						||
| 
								 | 
							
								represent a "standard" UNIX daemon process (i.e. backgrounded, PID file,
							 | 
						||
| 
								 | 
							
								etc.).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The true purpose of daemonitor is to provide a robust way of monitoring
							 | 
						||
| 
								 | 
							
								services under e.g. openrc, which provides a mechanism for starting, stopping
							 | 
						||
| 
								 | 
							
								and querying services but does not have any automatic monitoring of its own.
							 | 
						||
| 
								 | 
							
								Thus if a daemon or service crashes, this will not be recorded or addressed
							 | 
						||
| 
								 | 
							
								by the system.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Daemonitor is a very small daemon which itself never exits. Its simple design
							 | 
						||
| 
								 | 
							
								and single purpose should ensure that it is robust against various conditions
							 | 
						||
| 
								 | 
							
								that may arise in the system (out of disk space, out of memory, ...), and
							 | 
						||
| 
								 | 
							
								that it is unlikely to crash due to bugs. The process it monitors can then
							 | 
						||
| 
								 | 
							
								crash or exit or be killed and daemonitor will detect this and restart it.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Instructions
							 | 
						||
| 
								 | 
							
								------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								TODO
							 |