GeForkten Prozess beenden ?
-
Hallo alle beieinander,
wie kann ich denn einen Prozess den ich so starte :
switch(fork()) { case 0: if(execlp("Die Anweisungen zum Start",NULL)==-1) { perror("execclp"); return -1; } case -1: perror("fork"); return -1; break; }
wieder komplett beenden ??
Danke fuer die Hilfe und
bis denn
Frank
-
Sorry hab wohl nicht richtig gegoogelt !
Klappt mit
#include "signal.h" kill(ProzessID, SIGTERM);
-
So machst du das, wenn du ihn extern beenden willst.
Ansonsten beendet der sich auch selbst, wenn er sein Scope verlässt oder du exit aufrufst.
#include <unistd.h> #include <stdlib.h> #include <stdio.h> void child() { sleep(2); exit(10); //beendet child } void parent() { int status; wait(&status); } int main() { switch(fork()) { case -1: perror("fork"); return 1; break; case 0: child(); break; default: parent(); break; } return 0; }
> gcc prozess.c > ./a.out > echo $? 0