PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmausführung im Hintergrund



22-10-2000, 13:45
Hi,
ich möchte ein C-Program schreiben, das nach Programm-Start im Hintergrund läuft. Bei Perl lann das
mit folgendem Code generiert werden:


if ($pid = fork()) {
exit (0);
} elsif (!defined $pid) {
die "could not fork: $!\n";
}

if (!open (N, "+</dev/null")) {
syslog ("err", "could not open /dev/null: %m");
exit(1);
}
if (!open(STDOUT, ">&N") &#0124;&#0124;
!open (STDIN, "<&N") &#0124;&#0124;
!open (STDERR, ">&N")) {
syslog ("err", "could not redirect: %m");
exit(1);
}



Geht es auf ähnliche weise auch unter C???


Olli

22-10-2000, 17:14
<BLOCKQUOTE><font size="1" face="Arial,Helvetica,Geneva">Zitat:</font><HR>Original erstellt von lolli:
Hi,
ich möchte ein C-Program schreiben, das nach Programm-Start im Hintergrund läuft. [/quote]

Starte es doch einfach mit einem & am Schluß, dann wirds im Hintergrund ausgeführt, z.B.
./blub &

Sion

22-10-2000, 18:10
Wäre 'ne Möglichkeit, aber die ist mir bereits bekannt. Trotzdem Danke!
Ich suche aber eine andere, ("schönere") Variante..., da das Programm einen bestimmten Returncode zurück geben soll und eben nicht die Prozess-ID.

Olli

[Dieser Beitrag wurde von lolli am 22. Oktober 2000 editiert.]