killer.c

来自「基于网络编程的例子」· C语言 代码 · 共 39 行

C
39
字号
/* * killer.c - Killing other processes */#include <sys/types.h>#include <sys/wait.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <signal.h>int main(void){    pid_t child;    int status, retval;        if((child = fork()) < 0) {        perror("fork");        exit(EXIT_FAILURE);    }    if(child == 0) {        /* Sleep long enough to be killed */        sleep(1000);        exit(EXIT_SUCCESS);    } else {        /* Use WNOHANG so wait will return */        if((waitpid(child, &status, WNOHANG)) == 0) {            retval = kill(child, SIGKILL);            if(retval) {                /* Kill failed, so wait on child to exit */                puts("kill failed");                perror("kill");                waitpid(child, &status, 0);            } else                 printf("%d killed\n", child);        }    }    exit(EXIT_SUCCESS);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?