mono-service [options] program.exe
DESCRIPTIONThe mono-service is a host to run services built with the ServiceProcess assembly.
Use mono-service to run services that use the 1.0 assemblies and use mono-service2 to run services that use the 2.0 assemblies.
Services can be paused by sending the SIGUSR1 signal to the process, and execution can be resumed by sending the SIGUSR2 signal. The service can be cleanly shutdown by sending the SIGTERM signal to the process.
Mono programs started with mono-service run with the MONO_DISABLE_SHM variable set. This means that certain Mono features that depend on it are not available to services.
The following options can be used to control the service:
- Use this option to specify the working directory for the service. The default is the current directory.
- Specifies the file to use for locking, the default is a filename constructed in /tmp based on the name of the program that hosts the service.
- Name to show in the syslog.
- Use this to specify the service to be launched (if the program contains more than one service). The default is to run the first defined service.
- Use this option to prevent mono-service from redirecting stdin and stdout and prevent the program to be sent to the background. Equivalent to --no-daemon
- Use this option to prevent mono-service from redirecting stdin and stdout and prevent the program to be sent to the background. Equivalent to --debug.
CONTROLYou can control the service by sending signals to the process, you can use the following commands:
- Pausing service:
kill -USR1 `cat <lock file>`
- Resuming service:
kill -USR2 `cat <lock file>`
- Stopping the service:
kill `cat <lock file>`
EXAMPLESStart the MyService.exe assembly, with a lock in /root/service-lock:
mono-service -l:/root/service-lock MyService.exe