Austrian Linux Forum

Wie schreibt man ein init Skript?

Kategorien: Linux Software
9 Antworten
Markus René Einicher
Markus René Einicher am Montag, 19. Dezember 2005 um 10:15
Wie kann ich ein init Skript schreiben das den lampp startet? der bringt in /opt/lampp/lampp start schon ein Kommano mit das für mcih wie ein init Skript ausah, hab einen symbolischen Verweis i den /etc/init.d gelegt aber nachdem beim Systemstart ncihts damit passiert nehme ich an ich muss da doch selbst was schreiben - also: wie?

Kommentare

greggae
greggae am Freitag, 1. Juli 2005 um 15:10

der link in init.d ist nicht falsch.
Damit der Service im jeweiligen runlevel auch noch gestartet wird (autmatisch), gibt es zumindest bei System V init in den Verzeichnissen /etc/rcX.d/ (wobei X = 1.. 6) links auf services, die in diesem runlevel gestartet oder gekillt werden sollen.
der link muss so aussehen:
entweder S oder K (starten oder killen), dann prioriät (00 höchste, 99 niedrigste), dann dienstname, also zB
S80apache in /etc/rc2.d/ startet apache in runlevel 2.
den aktuellen runlevel kannst du dir mit "runlevel" anzeigen lassen (oder in der /etc/inittab nachlesen).

Markus René Einicher
Markus René Einicher am Sonntag, 3. Juli 2005 um 11:06

und was ist mit dem init skript selbst?

theEdge
theEdge am Sonntag, 3. Juli 2005 um 11:36

das is das programm

der init-prozess (der ursprungsprozess, der vaterprozess aller prozesse, der gottprozess, ye ultimate prozess) läuft die directories durch und schaut nach, welche programme er mit welcher priorität starten oder killen soll (siehe greggaes post). du legst einfach dein programm oder einen link mit dem entsprechenden namen in den runlevel und das ding wird von init gestartet

Markus René Einicher
Markus René Einicher am Sonntag, 3. Juli 2005 um 16:22

UNd wenn ich kein Programm hab sondern ein shellskript das die Programme auf das Kommanda "start" dann startet?

theEdge
theEdge am Sonntag, 3. Juli 2005 um 17:52

dann legst einfach nen link auf das shellscript

Markus René Einicher
Markus René Einicher am Montag, 4. Juli 2005 um 07:16

Hab ich, funktioniert nicht.

hab den ln -s S29lampp genannt und in rc2.d abgelegt mit einem Verweis auf /etc/init.d/lampp

wenn ich hochstarte führt er das aber nicht aus.

shevegen
shevegen am Dienstag, 13. September 2005 um 05:30

Bist du auch im Runlevel 2?

"egrep :initdefault: /etc/inittab"

In meinen rc.dirs gibts solche Einträge:

S10sysklogd -> ../init.d/sysklogd
S11hotplug -> ../init.d/hotplug


sysklogd ist zb ein shell script

#! /bin/sh
# /etc/init.d/sysklogd: start the system log daemon.



Gobolinux nutzt auch shell scripts, zum Teil auch Python scripts.
Hat im Verzeichnis /Programs/BootScripts/Settings/BootScripts
zB Scripts mit Namen wiee Done, Halt, Init, Multi, Options, Reboot, Single

Wie schaut /etc/init.d/lampp denn aus?

Markus René Einicher
Markus René Einicher am Dienstag, 13. September 2005 um 07:14

Hat funktioniert! Musste nur noch im Mandriv Kontrolzentrum bei den Diensten ein Kreuzchen bei "starten wenn System hochfährt" an machen, dann gings!

Danke für die Hilfe - hat geholfen^^

Markus René Einicher
Markus René Einicher am Montag, 19. Dezember 2005 um 10:15

Tja, Mandriva, diese Binnenpfuscher :)