blob: 3e7274331b8b246c5b44e5b2e0f035092afbde78 (
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
#!/bin/sh
# xrdp control script
# Written : 1-13-2006 - Mark Balliet - posicat@pobox.com
# maintaned by Jay Sorg
# chkconfig: 2345 11 89
# description: starts xrdp
### BEGIN INIT INFO
# Provides: xrdp
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop xrdp
# Description: starts xrdp
### END INIT INFO
SBINDIR=/usr/local/sbin
LOG=/dev/null
CFGDIR=/etc/xrdp
if ! test -x $SBINDIR/xrdp
then
echo "xrdp is not executable"
exit 0
fi
if ! test -x $SBINDIR/xrdp-sesman
then
echo "xrdp-sesman is not executable"
exit 0
fi
if ! test -x $CFGDIR/startwm.sh
then
echo "startwm.sh is not executable"
exit 0
fi
xrdp_start()
{
echo -n "Starting: xrdp and sesman . . "
$SBINDIR/xrdp >> $LOG
$SBINDIR/xrdp-sesman >> $LOG
echo "."
sleep 1
return 0;
}
xrdp_stop()
{
echo -n "Stopping: xrdp and sesman . . "
$SBINDIR/xrdp-sesman --kill >> $LOG
$SBINDIR/xrdp --kill >> $LOG
echo "."
return 0;
}
is_xrdp_running()
{
ps u --noheading -C xrdp | grep -q -i xrdp
if test $? -eq 0
then
return 1;
else
return 0;
fi
}
is_sesman_running()
{
ps u --noheading -C xrdp-sesman | grep -q -i xrdp-sesman
if test $? -eq 0
then
return 1;
else
return 0;
fi
}
check_up()
{
# Cleanup : If sesman isn't running, but the pid exists, erase it.
is_sesman_running
if test $? -eq 0
then
if test -e /var/run/xrdp-sesman.pid
then
rm /var/run/xrdp-sesman.pid
fi
fi
# Cleanup : If xrdp isn't running, but the pid exists, erase it.
is_xrdp_running
if test $? -eq 0
then
if test -e /var/run/xrdp.pid
then
rm /var/run/xrdp.pid
fi
fi
return 0;
}
case "$1" in
start)
check_up
is_xrdp_running
if ! test $? -eq 0
then
echo "xrdp is already loaded"
exit 1
fi
is_sesman_running
if ! test $? -eq 0
then
echo "sesman is already loaded"
exit 1
fi
xrdp_start
;;
stop)
check_up
is_xrdp_running
if test $? -eq 0
then
echo "xrdp is not loaded."
fi
is_sesman_running
if test $? -eq 0
then
echo "sesman is not loaded."
fi
xrdp_stop
;;
force-reload|restart)
check_up
echo "Restarting xrdp ..."
xrdp_stop
is_xrdp_running
while ! test $? -eq 0
do
check_up
sleep 1
is_xrdp_running
done
xrdp_start
;;
*)
echo "Usage: xrdp.sh {start|stop|restart|force-reload}"
exit 1
esac
exit 0
|