aboutsummaryrefslogtreecommitdiffstats
path: root/rc.d/init.d/single
blob: 8f37963a9158ff6c989c0d954fe2a5aa138e1706 (plain)
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
#!/bin/bash
#
#
# rc.single     This file is executed by init when it goes into runlevel
#               1, which is the administrative state. It kills all
#               deamons and then puts the system into single user mode.
#               Note that the file systems are kept mounted.
#
# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
#               Modified for RHS Linux by Damien Neil
#

. /etc/init.d/functions

if [ "$1" != "start" ]; then
   exit 0
fi

# killing splashy (#46169)
update_boot_stage exit

# Kill all processes.
[ "${BASH+bash}" = bash ] && enable kill

gprintf "Sending all processes the TERM signal...\n"
kill -15 -1
sleep 5
gprintf "Sending all processes the KILL signal..\n"
kill -9 -1

# this looks nicer
[ -x /usr/bin/clear ] && /usr/bin/clear

# Now go to the single user level.
gprintf "Telling INIT to go to single user mode.\n"

# init hangs if LANG is set
unset LANG

exec init -t1 S