sytem() ... im getrennten prozess starten ?
-
Hallo beisamen !
Ich beschäftige mich seit einger zeit mit c++,
da ich leider noch nicht so fit bin hab ich mal nen Frage !
Ich Würde gerne nen shell befehl in einem getrennten eltern prozess starten,
finde aber leider keine passende funktion !In Perl sieht das so aus !
open(OUT"|meinbefehl")or die "kein befehl gefunden $!:\n";Kennt jemand nen funktion die das selbe in c++ macht ?
mfg Perlianer
-
Das ist Betriebssystemspezifisch. Je nachdem, welches System du verwendest,
musst du an system etwas anderes übergeben.Btw. Die Fkt. system() sollte man sowieso vermeiden. Wenn man denn schon Plattform-
abhängig wird, kann man auch die entsprechenden API-Funktionen nutzen, dass wird
hübscher.
-
Ich benutz linux, kde.
Da ich im moment qt programmiere schau ich mir gerade mal QProcess an,
weiß aber noch nicht ob mir das weiterhilft !
Also wenn jemand noch nen tipp hat wärs SUPER !
-
Es gibt neben QProcess noch die Klasse KProcess (sind aber glaub ich nicht
von einander abgeleitet). Wenn dich kein Mod in das Linux-Forum verschiebt,
frag da selbst noch mal nach.
-
Danke
KProcess hat ich mir auch noch angesehen,
macht aber daselbe, und KRun macht das was ich wolte ,
Wundert mich aber schon das es da keine allgemen gültige Lösung gibt .
QRun wer nen Anfang..mfg Perlianer
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Warum nicht so:
if (fork() == 0) system("[i]Shell-Programm[/i]"); else ... /* Parent process */
Vielleicht geht auch
system("[i]Shell-Programm[/i] [b]&[/b]");
Habe ich aber noch nicht ausprobiert.
Jedenfalls wäre beides POSIX-Standard und damit von Qt o. ä. unabhängig.Martin
-
vielleicht hilft dir das hier ja weiter...:
http://www.hanser.de/files/fachbuch/leseproben1/3-446-22427-0.pdf
schönen gruß an martin g. ...