Wie beendet man einen Prozess, der execv aufruft?
395
tarabyte
Ein Prozess, der aufruft, execv
stirbt nicht durch Design, wie es aussieht.
Beispiel von hier geliehen :
#include <sys/types.h> #include <unistd.h> #include <stdio.h> main() { pid_t pid; char *const parmList[] = {"/bin/ls", "-l", "/u/userid/dirname", NULL}; if ((pid = fork()) == -1) perror("fork error"); else if (pid == 0) { execv("/bin/ls", parmList); printf("Return not expected. Must be an execv error.n"); } }
Wenn ich diese ausführbare Datei anrufe foo
, wie kann ich foo nach dem Start töten? Meine einzige Option scheint die übergeordnete Prozess-ID zu erfassen und diese dann abzubrechen.
foo & echo $! > /path/to/foo_pid kill /path/to/foo_pid
Ich habe jedoch keine Möglichkeit, die PID des übergeordneten Prozesses zu erfassen.
Warum können Sie den Prozess nicht mit seiner PID beenden?
David Schwartz vor 8 Jahren
0
Haben Sie "kill -9" mit der Prozess-PID ausprobiert?
BillP3rd vor 8 Jahren
0
0 Antworten auf die Frage
Verwandte Probleme
-
1
Ist kill -STOP ein temporärer Befehl?
-
2
Killall Shenanigans
-
2
Verknüpfung zum Beenden einer Anwendung
-
5
töten Sie -9-Programme, aber sie bleiben hängen
-
5
töte alle Prozesse eines Benutzers mit Ausnahme einiger weniger in Linux
-
3
Wie kann ich einen Prozess an der Eingabeaufforderung unter Windows NT beenden?
-
2
Nachträgliche Fernwartung mit tcsh
-
7
Beenden Sie einen Prozess mit einer bestimmten "Befehlszeile" von der Befehlszeile aus
-
4
entfernte Windows-Benutzer kicken / abmelden?
-
4
Töte ein Fenster oder eine Anwendung wie Linux