Probleme mit Systemcalls
-
Hallo,
habe ein selstsames Problem mit System calls.
Folgendes Funktioniert:
system("kill -9 $(pidof smplugin) &");
Folgendes Funktioniert jedoch nicht:
system("/root/test.py");
Scriptaufruf mit diesem Befehl funktioniert in der Konsole.
auch folgendes Funktioniert nicht:
execl("/root/test.py");
Kann es sein, dass man mit den Systemcalls keine anderen Programme aufrufen kann? Betriebsystem ist Slax Linux.
Kann mir da vielleicht jemand einen Tipp geben?
Besten Dank
-
Systemcalls sind was anderes als man: system(3)!
Folgendes Funktioniert jedoch nicht:
Was heißt "funktioniert nicht"? Was für einen Fehler erhältst du? (beachte auch, dass system einen Rückgabewert hat und Fehler signalisieren kann)
auch folgendes Funktioniert nicht:
Du verwendest man: execl auch falsch!
-
Hi Rüdiger.
Funktioniert nicht heisst dass das Kommando nicht ausgeführt wird.
Es kommt auch keine Fehlermeldung. Das mit dem Rückgabewert habe ich vergessen.
Kann diesen leider erst morgen, wenn ich wieder in der Firma bin, abfragen.Wie genau verwendet man dann execl?
Brauche nur einen Systemaufruf der den Programmablauf nicht aufhält.
-
Kann mir niemand ein kurzes Beispiel geben?
execl fürht jetzt zwar das Programm aus, das Programm wartet aber auf den return von execl.
Besten Dank
-
Hab es jetzt mal soweit hinbekommen (umgebungsvarialben).
Jedoch jetzt das Problem, dass sich das ausgeführte Programm nach einigen Millisekunden mittem in der Initialisierung beendet. Einen fehler des Programms kann ich zu 100% auschließen. Augerufen wird das programm mit system("myapp &") damit, es im hintergrund weiterläuft.
Jemand schon ein ähnliches Problem gehabt?