]> git.pld-linux.org Git - packages/VirtualBox.git/blame - vboxautostart.init
microcosmetic (kill dup space)
[packages/VirtualBox.git] / vboxautostart.init
CommitLineData
c920e7db
ER
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
2daf9ea4 14VBOXAUTOSTART_DB=/etc/vbox/autostart
2a57ea39 15VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg
82aa9ee6 16VBOXAUTOSTART=@INSTALL_DIR@/VBoxAutostart
2a57ea39 17
c920e7db
ER
18# Get service config - may override defaults
19[ -f /etc/sysconfig/virtualbox ] && . /etc/sysconfig/virtualbox
20
21start_daemon() {
22 local user="$1"
23 shift
24 daemon --user $user "$@"
25}
26
27start() {
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
98a7cd53
ER
34 [ -z "$VBOXAUTOSTART_DB" ] && exit 0
35 [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
c920e7db 36
82aa9ee6 37 msg_starting "VirtualBox VMs configured for autostart"
c920e7db 38
98a7cd53 39 local user PARAMS="--background --start --config $VBOXAUTOSTART_CONFIG"
c920e7db 40
98a7cd53
ER
41 # prevent inheriting this setting to VBoxSVC
42 unset VBOX_RELEASE_LOG_DEST
c920e7db 43
98a7cd53 44 for user in `ls $VBOXAUTOSTART_DB/*.start 2>/dev/null`; do
c920e7db 45 user=$(basename $user | sed -ne "s/\(.*\).start/\1/p")
98a7cd53
ER
46 start_daemon $user $VBOXAUTOSTART $PARAMS
47 done
c920e7db
ER
48
49 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/vboxautostart
50}
51
52stop() {
53 if [ ! -f /var/lock/subsys/vboxautostart ]; then
54 msg_not_running "VirtualBox Autostart"
55 return
56 fi
57
98a7cd53
ER
58 [ -z "$VBOXAUTOSTART_DB" ] && exit 0
59 [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
c920e7db
ER
60
61 # Stop daemons.
62 msg_stopping "VirtualBox Autostart"
63
98a7cd53 64 local user PARAMS="--stop --config $VBOXAUTOSTART_CONFIG"
c920e7db 65
98a7cd53
ER
66 # prevent inheriting this setting to VBoxSVC
67 unset VBOX_RELEASE_LOG_DEST
c920e7db 68
98a7cd53 69 for user in `ls $VBOXAUTOSTART_DB/*.stop 2>/dev/null`; do
c920e7db 70 user=$(basename $user | sed -ne "s/\(.*\).stop/\1/p")
98a7cd53
ER
71 start_daemon $user $VBOXAUTOSTART $PARAMS
72 done
c920e7db
ER
73
74 rm -f /var/lock/subsys/vboxautostart
75}
76
77condrestart() {
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
88RETVAL=0
89# See how we were called.
90case "$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
110esac
111
112exit $RETVAL
This page took 0.03676 seconds and 4 git commands to generate.