为了账号安全,请及时绑定邮箱和手机立即绑定

关于Linux C函数Kill ?

关于Linux C函数Kill ?

C
梵蒂冈之花 2019-02-11 14:10:47
关于Linux C函数kill,查看帮助文档,执行成功则返回0,如果有错误则返回-1。 可是执行了Kill后返回值为0,为什么用PS命令查看该进程还存在啊。请问这是怎么回事?该进程是通过在fork出的子进程中调用execvp生成的。用ps命令查看,该进程带中括号,即[test]pid_t pid = fork()if(pid == 0) //子进程{execvp("test",arglist,NULL)}else if(pid>0){// 父进程}else{//error}
查看完整描述

2 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

kill 这个命令指示发送一个SIGNAL 给进程.
发送成功就返回 0 .但是程序接收到信号后会怎么处理 kill 是不管的.
就是说无论kill 是不是返回 0. 进程都有可能继续运行.

查看完整回答
反对 回复 2019-02-27
?
慕少森

TA贡献2019条经验 获得超9个赞

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

查看完整回答
反对 回复 2019-02-27
  • 2 回答
  • 0 关注
  • 955 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信