⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kill.c

📁 工ARM_LINUX的几个源代码
💻 C
字号:
/*kill.c*/
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>

main(void)
{
	pid_t pid;
	int ret;
/*创建一子进程*/
	if((pid=fork())<0){
	perror("fork");
	exit(1);
	}
	if(pid == 0){
/*在子进程中使用raise函数发出SIGSTOP信号*/
	raise(SIGSTOP);//int raise(int sig)(传送信号给指定的进程)
	exit(0);
	}
	else{
/*在父进程中收集子进程发出的信号,并调用kill函数进行相应的操作*/
	printf("pid=%d\n",pid);
	if((waitpid(pid,NULL,WNOHANG))==0) //waitpid(等待子进程中断或结束)
{  
        	if((ret=kill(pid,SIGKILL))==0)   //SIGKILL:该信号用来立即结束程序的运行,
        	                                //并且不能被阻塞、处理和忽略。
		             //kill(),可以用来送参数sig指定的信号给参数pid指定的进程
		printf("kill %d\n",pid);
		else{
			perror("kill");
			}
		}
 	}
}
程序运行结果:
[root@tmp]# ./kill
pid=78
kill 78




⌨️ 快捷键说明

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