Servus, mein gcc findet die Funktion explain_system() nicht. Header <libexplain/system.h> ist eingtebunden, das "explain" habe ich installiert. Muß ich da noch eine lib dazulinken ? Wenn ja, welche ? Im www habe ich da leider nichts gefunden.
Was ist denn die Fehlermeldung? Libs muss man häufig (aber nicht immer) noch Dazulinken. Steht das nicht in der Doku deiner Lib (bin gerade zu faul, die selbst zu suchen)
Joachim D. schrieb: > mein gcc findet die Funktion explain_system() nicht. Sicher, dass es der gcc ist und nicht der Linker? Wie heißt die konkrete Fehlermeldung? > Muß ich da noch eine lib dazulinken ? > Wenn ja, welche ? Na die libexplain.
Funktioniert: system(command = "/home/jd/web/bin/tagesbelege.sh /home/jd/web/upload/REQ_6263e49e REQ_6263e49e") failed, No child processes (10, ECHILD) because the process does not have any unwaited-for child processes; the process is ignoring the SIGCHLD signal, this means that child processes that terminate will not persist until waited forwrite result wtf ???
Joachim D. schrieb: > Funktioniert: > > failed, > No child processes (10, ECHILD) because the process does not have any > unwaited-for child processes; > the process is ignoring the SIGCHLD signal, this means that child > processes that terminate will not > persist until waited forwrite result > > wtf ??? Du hast doch gefragt...Linux ist benutzerfreundlich, aber selektiv was freundlich ist. Th.
Tscha... Er hat das Script definitiv ausgeführt und ich rätsle was diese Meldung eigentlich soll. -1 soll ja einen Fehler signalisieren, nur welchen ? Aus der explain werde ich nicht schlau ...
Ich kenne ja das Skript /home/jd/web/bin/tagesbelege.sh nicht so richtig, aber vielleicht hast Du das freundliche #!/bin/sh am Anfang des Skriptes vergessen. Die Datei ist gefunden aber kein Prozess gestartet. Gruesse Th.
system() ruft intern waitpid() auf, um darauf zu warten, dass der Kindprozess sich beendet, um an dessen Exit-Code zu kommen. Die Fehlermeldung will sagen, dass zum Zeitpunkt des Aufrufs von waitpid() der Kindprozess nicht existiert hat und daher kein Exit-Code verfügbar ist.
Hier mal das Script:
1 | #!/bin/bash
|
2 | |
3 | /home/jd/web/bin/uimpach.x -i -D -Q -q $1 >>$1/sh.prt |
4 | ls -l $1/*.* >>$1/sh.prt |
5 | cp $1/sh.prt /home/jd/web/temp/$2.prt |
6 | rm -r $1 |
$1 ist das Arbeitsverzeichnis, $2 die request-id
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.