Как убить процесс, который вызывает execv?
386
tarabyte
Процесс, который вызывает execv
, не умирает из-за того, что выглядит как дизайн.
Пример заимствован отсюда :
#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"); } }
Если я назову этот исполняемый файл foo
, как я могу убить foo после его запуска? Кажется, мой единственный вариант - захватить идентификатор родительского процесса, а затем убить его.
foo & echo $! > /path/to/foo_pid kill /path/to/foo_pid
Но у меня нет способа получить PID родительского процесса.
Почему вы не можете убить процесс, используя его PID?
David Schwartz 8 лет назад
0
Вы пробовали `kill -9` с помощью PID процесса?
BillP3rd 8 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
1
Является ли kill -STOP временной командой?
-
2
убийца махинаций
-
2
Ярлык, чтобы убить приложение
-
-
5
убить -9 программ, но они все еще держатся
-
5
убить все процессы пользователя, кроме нескольких в Linux
-
3
Как я могу убить процесс из командной строки в Windows NT?
-
2
Удаленный nohup с помощью tcsh
-
7
Убить процесс с помощью определенной «командной строки» из командной строки
-
4
пинать / выходить из системы удаленных пользователей Windows?
-
4
Убить окно или приложение, как в Linux