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.
Gast
#7043725
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)
Gast
#7043726
https://linux.die.net/man/3/explain -> Synopsis Gruesse Th.
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.
Thomas W. schrieb: > https://linux.die.net/man/3/explain Danke, den hatte ich übersehen ;)
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 ???
Gast
#7043740
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 ...
Gast
#7043768
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 | |
2 | |
3 | |
4 | |
5 | |
6 | |
$1 ist das Arbeitsverzeichnis, $2 die request-id
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.