• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Prozess beim Booten starten

PP-checker

Member
Hallo,
wo muss ich das eintragen, dass ein Skript jeweils mit dem Booten mitgestartet wird?

(Skript legt sich dann mit sleep ein bisschen schlafen und ruft sich dann wieder von selbst auf^^)

Vielen Dank PP
 

admine

Ultimate Guru
Mach ein init-Script daraus.
Wie das geht steht hier:

[HOWTO] runlevel scripte - selber erstellen
http://www.linux-club.de/viewtopic.php?t=16069
 
OP
PP-checker

PP-checker

Member
ok das hab ich gemacht: der PC hat sich selbst aufgehängt!

Ich hab alles so gemacht wie es dort geschrieben stand: hier ein Auszug aus der Skriptdatei ( rofl.sh ), die ich in das init.d Verzeichniss kopiert hatte:

### BEGIN INIT INFO
# Provides: Deny-Hosts
# Required-Start: $network $remote_fs $syslog
# Required-Stop:
# Default-Start: 3 5
# Default-Stop:
# Description: SSH security
### END INIT INFO

#!/bin/bash
echo "Überprüfe..."
nase="/var/log/messages"
loer="/home/PP/Documents/DenyHosts-0.5.5"
echo $nase
sleep 2
#rofl
cd $loer
#lol
python denyhosts.py --file=$nase
echo "Beende"
sleep 10
echo ""
echo "AUF EIN NEUES!"
echo ""
sh /home/PP/Desktop/rofl.sh

wenn ich rcrofl status eingab, dann führte er das Skript aus, dank sleep 10 und sh /home/PP/Desktop/rofl.sh in der Endlosschleife.

Was hab ich falsch gemacht ?

ThX
 

Martin Breidenbach

Ultimate Guru
PP-checker schrieb:
ok das hab ich gemacht: der PC hat sich selbst aufgehängt!

Beim booten ?

Wilde Spekulation: das Ding macht ja nun ne Endlosschleife... also startet beim Booten ein Prozess der eben eine Endlosschleife ist... und hängt.

Man könnte das abändern daß das Startskript nicht das eigentliche Skript ausführt sondern es mit & als neuen Prozess startet.

Kann aber auch sein daß das so nicht klappt - probier's halt mal aus.
 
Schau dir mal ein Script an, das im init.d-Ordner liegt. Der letzte "Absatz" (die case-Schleife) zeigt wie die übergebenen Parameter (start, stop, status) behandelt werden. Das musst du auf dein Script übertragen.

z.b. das cron-Script ist einfach zu lesen und zu verstehen (Kommentare beschreiben alles).

Ich glaube das Problem mit dem aufhängen des PC's kommt daher, dass Linux glaube ich wartet, bis das Script beendet ist. Deins läuft ja endlos.

Vielleicht reicht schon die letzte Zeile mit einem & zu versehen:

Code:
sh /home/PP/Desktop/rofl.sh &
Damit läuft das erneut aufgerufene Script im Hintergrund und das erste endet.


Daniel
 
Oben