当前位置:首页 » 编程语言 » c语言kill函数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言kill函数

发布时间: 2022-07-13 18:36:12

A. Linux C函数Kill

你是程序中调用kill函数,还是在命令行调用kill命令?
int kill(pid_t pid, int sig); 函数有两个参数,一个是进程号,一个是信号
如果你输入的进程号是正确的,而进程还在,则信号有可能被该进程忽略了,不知道你发送的信号是几号? 只有SIGKILL SIGSTOP不能被忽略,其它都可以忽略或捕捉。

B. 程序的终止代码有哪些

结束当前函数用return

如果你想结束当前程序的代码,只要在主函数里return就可以了

还有一个办法就是exit(0),这个是系统函数。
更多追问追答
追问
能具体说一下怎么用吗,之前用过,运行之后程序没有关闭。

追答



/*总结一下,结束自己的方法:1、在main里return2、调用void exit(int status)函数3、安装信号,来结束自己//这个新人还是不用的好,其实也不能,只要你安装一个信号,然后抛出信号就可以了。4、调用系统函数system()来kill自己的进程。*/ /*下面是我写的类子,main函数里最后是"Not end",如果没有跑出这个文言,说明函数中间终端了。我只写了return和status,信号,这个你可以自己看一下这方面的资料。*/ #include <iostream>#include <stdlib.h> #define true 1 using namespace std; int main (int argc, char** argv) { cout << "Sleep 1s ..." << endl; sleep(1); cout << "Exit(0) work ..." << endl; // return true; exit(0); //void exit(int status);这个是exit的函数,返回状态,int类型,该函数可以/*If one of these functions does not return (e.g., it calls _exit(2), or kills itself with a signal)*///这个为我摘要的该函数说明,大体意思就是说如果他没有return,那么就使用信号来kill自己。 cout << "Not end!" << endl;}

C. linux c语言编程 唤醒指定PID的进程

给你一个完整的测试代码:
--------------------------
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
#include <stdlib.h>

void handler(int signo)
{
printf("recv the signal from parent process\n");
}

int main()
{
pid_t pid;

pid = fork();

switch(pid)
{
case -1:
perror("fork failed");
exit(1);
case 0:
printf("in the child\n");
signal(SIGCONT, handler);
pause();
printf("child weakup\n");
break;
default:
printf("in the parent\n");
sleep(5);
kill(pid, SIGCONT);
sleep(5);
printf("parent weakup\n");
break;
}
printf("bye..\n");

exit(0);
}
--------------------------------------------------
运行及输出:
beyes@linux-beyes:~/C> ./weakup.exe
in the child
in the parent
recv the signal from parent process
child weakup
bye..
parent weakup
bye..
....................................

D. linux下用c语言结束进程问题

ps 看一下名字对应的PID号。你也可以先了解一下ps命令的输出格式。
使用killall+进程名似乎也是可以的。

E. 怎么用c语言结束某进程

首先你要知道该进程的PID


如果在windows下可以用tskill PID命令来实现,如果是c语言,只需要用system函数就可以实现

#include"stdio.h"
#include"stdlib.h"
intmain()
{
system("tskillXXXX");
return0;
}

其中XXXX就是你需要传入的进程的PID


如果是linux或者unix的系统


则用kill命令:

#include"stdio.h"
#include"stdlib.h"
intmain()
{
system("killXXXX");
return0;
}

XXX一样是进程的PID

F. c语言父进程怎么知道子进程是否还活着

fork的时候不是可以得到子进程的pid吗,以后每隔5分钟,就使用kill函数来查看该子进程是否活着,具体的用法如下:
fork();
......
//判断是否活着
//如果子进程pid是***的话,则kill用法如下:
int ret=kill(***,0);
if(ret == 0 )
{ 子进程活着 }
else
{ 子进程死了}

G. linux c语言中在某个线程中怎样终止整个程序

线程
可以用pthread_kill函数
传递信号SIGSTOP挂起
传递SIGCONT 恢复

进程
调用系统的stop挂起
或者用kill -stop 挂起
类似的 用SIGCONT 恢复。