VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/installer/vboxadd-service.sh@ 58820

Last change on this file since 58820 was 58326, checked in by vboxsync, 9 years ago

Installers/linux: service output clean-up.

  • Property svn:eol-style set to LF
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1#!/bin/sh
2#
3# Linux Additions Guest Additions service daemon init script.
4#
5# Copyright (C) 2006-2012 Oracle Corporation
6#
7# This file is part of VirtualBox Open Source Edition (OSE), as
8# available from http://www.virtualbox.org. This file is free software;
9# you can redistribute it and/or modify it under the terms of the GNU
10# General Public License (GPL) as published by the Free Software
11# Foundation, in version 2 as it comes in the "COPYING" file of the
12# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
13# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14#
15
16# chkconfig: 345 35 65
17# description: VirtualBox Additions service
18#
19### BEGIN INIT INFO
20# Provides: vboxadd-service
21# Required-Start: vboxadd
22# Required-Stop: vboxadd
23# Default-Start: 2 3 4 5
24# Default-Stop: 0 1 6
25# Description: VirtualBox Additions Service
26### END INIT INFO
27
28PATH=$PATH:/bin:/sbin:/usr/sbin
29SCRIPTNAME=vboxadd-service.sh
30
31PIDFILE="/var/run/${SCRIPTNAME}"
32
33# Preamble for Gentoo
34if [ "`which $0`" = "/sbin/rc" ]; then
35 shift
36fi
37
38begin()
39{
40 test -n "${2}" && echo "${SCRIPTNAME}: ${1}."
41 logger -t "${SCRIPTNAME}" "${1}."
42}
43
44succ_msg()
45{
46 logger -t "${SCRIPTNAME}" "${1}."
47}
48
49fail_msg()
50{
51 echo "${SCRIPTNAME}: ${1}." >&2
52 logger -t "${SCRIPTNAME}" "${1}."
53}
54
55daemon() {
56 $1 $2 $3
57}
58
59killproc() {
60 killall $1
61 rm -f $PIDFILE
62}
63
64if which start-stop-daemon >/dev/null 2>&1; then
65 daemon() {
66 start-stop-daemon --start --exec $1 -- $2 $3
67 }
68
69 killproc() {
70 start-stop-daemon --stop --retry 2 --exec $@
71 }
72fi
73
74binary=/usr/sbin/VBoxService
75
76testbinary() {
77 test -x "$binary" || {
78 echo "Cannot run $binary"
79 exit 1
80 }
81}
82
83vboxaddrunning() {
84 lsmod | grep -q "vboxguest[^_-]"
85}
86
87start() {
88 if ! test -f $PIDFILE; then
89 begin "Starting VirtualBox Guest Addition service" console;
90 vboxaddrunning || {
91 echo "VirtualBox Additions module not loaded!"
92 exit 1
93 }
94 testbinary
95 daemon $binary --pidfile $PIDFILE > /dev/null
96 RETVAL=$?
97 succ_msg "VirtualBox Guest Addition service started"
98 fi
99 return $RETVAL
100}
101
102stop() {
103 if test -f $PIDFILE; then
104 begin "Stopping VirtualBox Guest Addition service" console;
105 killproc $binary
106 RETVAL=$?
107 if ! pidof VBoxService > /dev/null 2>&1; then
108 rm -f $PIDFILE
109 succ_msg "VirtualBox Guest Addition service stopped"
110 else
111 fail_msg "VirtualBox Guest Addition service failed to stop"
112 fi
113 fi
114 return $RETVAL
115}
116
117restart() {
118 stop && start
119}
120
121status() {
122 echo -n "Checking for VBoxService"
123 if [ -f $PIDFILE ]; then
124 echo " ...running"
125 else
126 echo " ...not running"
127 fi
128}
129
130case "$1" in
131start)
132 start
133 ;;
134stop)
135 stop
136 ;;
137restart)
138 restart
139 ;;
140status)
141 status
142 ;;
143setup)
144 ;;
145cleanup)
146 ;;
147*)
148 echo "Usage: $0 {start|stop|restart|status}"
149 exit 1
150esac
151
152exit $RETVAL
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette