Linux C函数Kill 10
关于LinuxC函数kill,查看帮助文档,执行成功则返回0,如果有错误则返回-1。可是执行了Kill后返回值为0,为什么用PS命令查看该进程还存在啊。请问这是怎么回事?...
关于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
} 展开
可是执行了Kill后返回值为0,为什么用PS命令查看该进程还存在啊。请问这是怎么回事?
该进程是通过在fork出的子进程中调用execvp生成的。用ps命令查看,该进程带中括号,即[test]
pid_t pid = fork()
if(pid == 0) //子进程
{
execvp("test",arglist,NULL)
}
else if(pid>0)
{
// 父进程
}
else
{
//error
} 展开
2012-11-01
展开全部
僵尸进程还存在。实际上进程还没有杀死,或者用ps查看时看到的是假的进程,也就是说系统没有反应过来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
kill 这个命令指示发送一个SIGNAL 给进程.
发送成功就返回 0 .但是程序接收到信号后会怎么处理 kill 是不管的.
就是说无论kill 是不是返回 0. 进程都有可能继续运行.
发送成功就返回 0 .但是程序接收到信号后会怎么处理 kill 是不管的.
就是说无论kill 是不是返回 0. 进程都有可能继续运行.
追问
谢谢,那为什么用kill命令,kill -9 pid,可以终止该进程,而函数调用不行呢。怎么查出进程没有被终止的真正原因呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询