17a2cd43d45b303d3269184f564467d7a79dcb57
[util-vserver.git] / sysv / vprocunhide
1 #!/bin/bash
2 #
3 # vprocunhide  sets vserver related attributes for /proc
4 #
5 # chkconfig: 2345 26 74
6 # description: Makes some /proc entries visibly for vservers
7
8 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
9 test -e "$UTIL_VSERVER_VARS" || {
10     echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
11     exit 1
12 }
13 . "$UTIL_VSERVER_VARS"
14
15 $_VSERVER_INFO - FEATURE iattr || exit 0
16
17 f=/etc/rc.d/init.d/functions
18 if test -e "$f"; then
19     . "$f"
20     lockfile=/var/lock/subsys/vprocunhide
21 else
22     success() { echo .; }
23     passed()  { echo .; }
24     failure() { echo ERROR; }
25     lockfile=/var/run/vprocunhide
26 fi
27
28
29 function start()
30 {
31     echo -n $"Fixing /proc entries visibility..."
32     $_VPROCUNHIDE
33     retval=$?
34     case "$retval" in
35         0)      success;;
36         2)      passed; retval=0;;
37         *)      failure;
38     esac
39     echo
40     test "$retval" -ne 0 || touch "$lockfile"
41     return $retval
42 }
43
44 function stop()
45 {
46     rm -f "$lockfile"
47 }
48
49 function restart()
50 {
51     stop
52     start
53 }
54
55 case "$1" in
56     start|stop|restart) $1;;
57     reload)             ;;
58     condrestart)
59         test -f $lockfile && restart || :
60         ;;
61     status)
62         test -f $lockfile && {
63             echo $"/proc entries were fixed"
64             exit 0
65         }
66         echo $"/proc entries are not fixed"
67         exit 1
68         ;;
69     *)
70         echo "Usage: $0 {start|stop|reload|restart|condrestart|status}"
71         exit 2
72         ;;
73 esac