Programm im Hintergrund
-
Hallo,
wie kann ich denn ein Programm, das einfach nur einen string auf der shell ausgibt im Hintergrund ausführen lassen. Es soll auch in regelmäßigen Abständen (alle 500 ms) den String erneut ausgeben. Hab mir mal was über fork() durchgelesen, aber nicht ganz verstanden. Ein Beispiel könnte mir vielleicht weiterhelfen.
MfG
LaPuno
-
Die einfachste Variante wäre
if (fork() > 0) exit(0);
Macht nichts weiter als den Prozess zu teilen und dann den Mutterprozess zu beenden.
-
Danke, das werde ich mal versuchen, aber wie bekomme ich es denn hin ,dass sich die Ausgabe alle 0,5 sec wiederholt??
Mach ich das mit einer Schleife und einem sleep oder geht das auch anders??MfG
LaPuno
-
Hallo,
ich habe leider immer noch nicht herausgefunden, wie ich es hinbekomme, dass sich eine Ausgabe alle 500 ms wiederholt. Wäre sehr nett, wenn das einer weiß und mir verraten könnte.
Mein nächstes Problem wäre, dann, wie ich den Prozess dann wieder anhalten kann. Er läuft dann ja die ganze zeit im hintergrund weiter.
Hoffe mir kann jemand weiterhelfen.
Grüße
LaPUno
-
Prinziplösung:
int child=fork() if(child==0) { while(true) { sleep(500); cout<<"Ich bin noch da."<<endl; } } else if(child==-1) { cout<<"Fehler im fork()"<<endl; return; } //... if(Abbruch signalisiert) kill(child);
-
Bitte die [url="http://www.c-plusplus.net/forum/viewtopic.php?t=39501"]FAQ[/url] benutzen!
wmfrs
-
Für solche Zwecke gibt es u. a. die Funktion alarm().