forked from mono/mono
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mono-service.in
41 lines (39 loc) · 1.33 KB
/
mono-service.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
args=""
assembly=
debug=false
while test x$1 != x; do
case $1 in
-[ldnm]:*) args="$args$1 " ;;
--debug) debug=true ;;
--no-daemon) debug=true ;;
*) assembly=$1; args="$args$assembly ";;
esac
shift
done
if test x$assembly = x; then
echo You must specify at least the assembly name
echo
echo "Usage is: $0 [options] service"
echo
echo ' -d:<directory> Working directory'
echo ' -l:<lock file> Lock file (default is /tmp/<service>.lock)'
echo ' -m:<syslog name> Name to show in syslog'
echo ' -n:<service name> Name of service to start (default is first defined)'
echo ' --debug Do not send to background nor redirect input/output'
echo ' --no-daemon Do not send to background nor redirect input/output'
echo
echo Controlling the service:
echo
echo ' kill -USR1 `cat <lock file>` Pausing service'
echo ' kill -USR2 `cat <lock file>` Continuing service'
echo ' kill `cat <lock file>` Ending service'
echo
exit 1
fi
export MONO_DISABLE_SHM=1
if $debug; then
exec @bindir@/@mono_interp@ $MONO_OPTIONS @mono_instdir@/@framework_version@/mono-service.exe $args
else
exec @bindir@/@mono_interp@ $MONO_OPTIONS @mono_instdir@/@framework_version@/mono-service.exe $args </dev/null >/dev/null 2>&1 &
fi