Ik heb voor het eerst een init.d script geschreven om een bepaalde applicatie automatisch te laten starten tijdens boot. Ik heb echter 2 problemen:
- Het starten van de appliactie gaat fout aangezien de applicatie niet als root gestart mag worden
- Als ik de applicatie start via de runlevel editor in yast geeft hij wel een error melding (Ninan should NOT run as root!) maar de `enabled` status staat daarna wel op yes
Nu zijn mijn vragen:
- Hoe start ik een applicatie in bash als een normale gebruiker ipv als root?
- Hoe zorg ik ervoor dat de enabled status niet op yes komt te staan als ik bepaalde feedback krijg.
Alvast bedankt voor de hulp.
ps: Ik heb 0.1% programmeerkennis, be gentle
Edit: paar kleine wijzigingen aangebracht aan het script
- Het starten van de appliactie gaat fout aangezien de applicatie niet als root gestart mag worden
- Als ik de applicatie start via de runlevel editor in yast geeft hij wel een error melding (Ninan should NOT run as root!) maar de `enabled` status staat daarna wel op yes
Nu zijn mijn vragen:
- Hoe start ik een applicatie in bash als een normale gebruiker ipv als root?
- Hoe zorg ik ervoor dat de enabled status niet op yes komt te staan als ik bepaalde feedback krijg.
Alvast bedankt voor de hulp.
ps: Ik heb 0.1% programmeerkennis, be gentle
Edit: paar kleine wijzigingen aangebracht aan het script
code:
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
| #!/bin/sh
#
# /etc/init.d/ninan
#
DESC="Usenet Client"
NAME=Ninan
SCRIPTNAME=/etc/init.d/ninan
DIR=/home/lmolenaar/ninan-1.1.3
USER=lmolenaar
ACTIVE=`ps -A | grep ninan`
#
# Function that starts the service.
#
s_start() {
if [ ACTIVE = ninan ]
then
echo "Ninan is already running"
elif
cd $DIR &&
su $USER
nohup ninancore.sh &
fi
}
#
# Function that stops the service.
#
s_stop() {
if [ ACTIVE = ninan ]
then
cd $DIR &&
su $USER
ninanstop.sh
elif
echo "Ninan is already stopped"
fi
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
s_start
rc_status -v
;;
stop)
s_Stop
rc_status -v
;;
restart)
echo -n "Restarting $DESC: $NAME"
s_stop
sleep 2
s_start
rc_status -v
;;
*)
echo "Usage: ninan {start|stop|restart}"
esac
rc_exit |
[ Voor 44% gewijzigd door Simkin op 21-09-2007 14:35 ]