Daemon mit system() Kommando

Post Reply
Message
Author
sentor
Posts: 8
Joined: 06. May 2004 12:28

Daemon mit system() Kommando

#1 Post by sentor »

Hallo zusammen,

ich habe einen Daemon geschrieben, der beim Systemboot automatisch startet, klar, und in seiner Ausführungskette auch das system() Kommando enthaelt, das ein externes Shell-Skript (kompletter Pfad wird uebergeben) aufruft. Die Idee ist aehnlich wie beim Hot-Plugging, wo ein externer Agent (i.d.R. Shell-Skript) aufgerufen wird und verschiedene Sachen macht. Nun ist folgendes zu beobachten:

1) Starte ich den Daemon in einen laufenden System (den RunLevel-Link vorher geloescht) so funktioniert alles wie gefordet.

2) Startet der Daemon wahrend des Systembootes, so wird das system() Kommando manchmal nicht und des oefteren nicht vollstaendig ausgefuehrt. Genau dies ist mein Problem.

Der Daemon muss automatisch gestartet werden, mithin muesste ich das System-Kommando gegen irgendwas austauchen, aber was?

In den Kernelquellen (usb.c) wird die Funktion call_usermodehelper() fuer den Aufruf von exteren Agenten benutzt, allerdings hat mein Daemon in keinster Weise was mit Modulen zu tun.

Was kann ich machen?

Gruss

Torsten

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

#2 Post by hjb »

Hi!

Was wird in system() aufgerufen? Während dem Boot sind nur wenige Verzeichnisse im Pfad, das könnte ein Problem sein.

Zur Diagnose kannst du auch das Resultat von system() loggen.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

sentor
Posts: 8
Joined: 06. May 2004 12:28

#3 Post by sentor »

Ich danke dir. Das Skript was ich ausfuehren will liegt im /etc/... also nicht im DEFAULT-PATH. Ein setenv() mit meinem Pfad loeste das Problem.

Danke und Gruss

sentor

Post Reply