]> git.pld-linux.org Git - packages/VirtualBox.git/blob - vboxautostart.init
add binary to be executed
[packages/VirtualBox.git] / vboxautostart.init
1 #!/bin/sh
2 #
3 # VirtualBox autostart service init script.
4 #
5 # chkconfig:    35 35 65
6 # description: VirtualBox autostart service
7 # processname:  VBoxAutostart
8 # config:       /etc/vbox/autostart.cfg
9 #
10
11 # Source function library
12 . /etc/rc.d/init.d/functions
13
14 VBOXAUTOSTART_DB=/etc/vbox
15 VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg
16 VBOXAUTOSTART=@INSTALL_DIR@/VBoxAutostart
17
18 # Get service config - may override defaults
19 [ -f /etc/sysconfig/virtualbox ] && . /etc/sysconfig/virtualbox
20
21 start_daemon() {
22         local user="$1"
23         shift
24         daemon --user $user "$@"
25 }
26
27 start() {
28         # Check if the service is already running?
29         if [ -f /var/lock/subsys/vboxautostart ]; then
30                 msg_already_running "VirtualBox Autostart"
31                 return
32         fi
33
34     [ -z "$VBOXAUTOSTART_DB" ] && exit 0
35     [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
36
37         msg_starting "VirtualBox VMs configured for autostart"
38
39     local user PARAMS="--background --start --config $VBOXAUTOSTART_CONFIG"
40
41     # prevent inheriting this setting to VBoxSVC
42     unset VBOX_RELEASE_LOG_DEST
43
44     for user in `ls $VBOXAUTOSTART_DB/*.start 2>/dev/null`; do
45                 user=$(basename $user | sed -ne "s/\(.*\).start/\1/p")
46         start_daemon $user $VBOXAUTOSTART $PARAMS
47     done
48
49         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/vboxautostart
50 }
51
52 stop() {
53         if [ ! -f /var/lock/subsys/vboxautostart ]; then
54                 msg_not_running "VirtualBox Autostart"
55                 return
56         fi
57
58     [ -z "$VBOXAUTOSTART_DB" ] && exit 0
59     [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
60
61         # Stop daemons.
62         msg_stopping "VirtualBox Autostart"
63
64     local user PARAMS="--stop --config $VBOXAUTOSTART_CONFIG"
65
66     # prevent inheriting this setting to VBoxSVC
67     unset VBOX_RELEASE_LOG_DEST
68
69     for user in `ls $VBOXAUTOSTART_DB/*.stop 2>/dev/null`; do
70                 user=$(basename $user | sed -ne "s/\(.*\).stop/\1/p")
71         start_daemon $user $VBOXAUTOSTART $PARAMS
72     done
73
74         rm -f /var/lock/subsys/vboxautostart
75 }
76
77 condrestart() {
78         if [ ! -f /var/lock/subsys/vboxautostart ]; then
79                 msg_not_running "VirtualBox Autostart"
80                 RETVAL=$1
81                 return
82         fi
83
84         stop
85         start
86 }
87
88 RETVAL=0
89 # See how we were called.
90 case "$1" in
91   start)
92         start
93         ;;
94   stop)
95         stop
96         ;;
97   restart)
98         stop
99         start
100         ;;
101   try-restart)
102         condrestart 0
103         ;;
104   force-reload)
105         condrestart 7
106         ;;
107   *)
108         msg_usage "$0 {start|stop|restart|try-restart|force-reload}"
109         exit 3
110 esac
111
112 exit $RETVAL
This page took 0.045736 seconds and 4 git commands to generate.