Linux c源码之kill源码

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

#include <sys/types.h>
#include <signal.h>

int main(int argc, char **argv)
{
	int sig = SIGTERM; //发送退出信号 /* Termination (ANSI).  */
	int result = 0;

	argc--;
	argv++;

	if(argc >= 2 && argv[0][0] == '-'){
		sig = atoi(argv[0] + 1);
		argc--;
		argv++;
	}

	while(argc > 0){
		int pid = atoi(argv[0]);
		int err = kill(pid, sig);
		if (err < 0) {
			result = err;
			fprintf(stderr, "could not kill pid %d: %s\n", pid, strerror(errno));
		}

		argc--;
		argv++;
	}

	return result;
}

你可能感兴趣的:(Linux c源码之kill源码)