你是程序中调用kill函数,还是在命令行调用kill命令?
创新互联是一家专注于成都做网站、成都网站设计与策划设计,德阳网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:德阳等地区。德阳做网站价格咨询:028-86922220
int kill(pid_t pid, int sig); 函数有两个参数,一个是进程号,一个是信号
如果你输入的进程号是正确的,而进程还在,则信号有可能被该进程忽略了,不知道你发送的信号是几号? 只有SIGKILL SIGSTOP不能被忽略,其它都可以忽略或捕捉。
首先你要知道该进程的PID
如果在windows下可以用tskill PID命令来实现,如果是c语言,只需要用system函数就可以实现
#include "stdio.h"
#include "stdlib.h"
int main()
{
system("tskill XXXX");
return 0;
}
其中XXXX就是你需要传入的进程的PID
如果是linux或者unix的系统
则用kill命令:
#include "stdio.h"
#include "stdlib.h"
int main()
{
system("kill XXXX");
return 0;
}
XXX一样是进程的PID
pause()会令目前的进程暂停(进入睡眠状态), 直到被信号(signal)所中断。
当50信号触动了,pause将退出睡眠状态,执行printf和return
线程
可以用pthread_kill函数
传递信号SIGSTOP挂起
传递SIGCONT 恢复
进程
调用系统的stop挂起
或者用kill -stop 挂起
类似的 用SIGCONT 恢复。
fork的时候不是可以得到子进程的pid吗,以后每隔5分钟,就使用kill函数来查看该子进程是否活着,具体的用法如下:
fork();
......
//判断是否活着
//如果子进程pid是***的话,则kill用法如下:
int ret=kill(***,0);
if(ret == 0 )
{ 子进程活着 }
else
{ 子进程死了}