This is a simple example on how init-d-script can be used to start and stop a daemon with PID file support:
#!/lib/init/init-d-script ### BEGIN INIT INFO # Provides: atd # Required-Start: $syslog $time $remote_fs # Required-Stop: $syslog $time $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: run at jobs # Description: Debian init script to start the daemon # running at jobs. ### END INIT INFO DAEMON=/usr/sbin/atd
In addition to the DAEMON setting, one can specify DESC, NAME, PIDFILE (none means no PID file), or implement override functions do_force_reload_override, do_reload_override, do_restart_override, do_start_override, do_start_cmd_override, do_start_prepare, do_start_cleanup do_status_override, do_stop_override, do_stop_prepare, do_stop_cleanup and do_stop_cmd_override.
If the daemon support reloading, implement the do_reload function to make the init.d script recognize the reload operation as well as use it for the force-reload operation.
If DAEMON is 'none', the check to see if the daemon is installed is disabled, and replacement functions do_start_cmd_override, do_stop_cmd_override and do_status_override functions must be implemented.
Services supporting reload should define the do_reload function. If the service handle reload using a SIGUSR1 signal, the following alias can be used instead of implementing ones own do_reload function:
alias do_reload=do_reload_sigusr1