CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  程序开发区

如何判断一个进程存在????

楼主xronguo(five)2003-06-03 08:50:30 在 Linux/Unix社区 / 程序开发区 提问

我有一个进程号。如何判断这个进程是否存在??????用C语言函数。 问题点数:0、回复次数:4Top

1 楼luoda(罗达)回复于 2003-06-03 09:52:01 得分 0

kill(pid,sig)  
  如果这个pid不存在,会返回-1,errno为ESRCH  
  注意   sig的选择  
  Top

2 楼luoda(罗达)回复于 2003-06-03 09:55:13 得分 0

 
  还要注意你的权限,root可以向除了pid=1   以外的任何进程发信号Top

3 楼cool_killer(杀手王)回复于 2003-06-03 13:32:39 得分 0

看其父进程,如果大于0,则存在  
   
  int   EXIST_proc(pid_t   proc_id)  
  {  
          if(getpgid(proc_id)>0)  
                  return   1;  
          else{  
                  if(errno   ==   ESRCH)  
                          return   0;  
                  else  
                          return   1;  
          }  
  }Top

4 楼cool_killer(杀手王)回复于 2003-06-03 13:40:54 得分 0

kill是发信,大多数进程接收到某一信号的默认操作是中止程序,所以不要随便  
  给一个进程发送信号,  
  判断进程存在的方法还可以查看/proc/下的进程号目录是否存在,因为如果某个  
  进程存在那么在/proc下必有一个用该进程号命名的目录,可以用fopen打开该目  
  录看看,如果打得开,则存在,打不开,看返回错误信息判断是否存在。Top

相关问题

  • 判断进程是否存在
  • 在Unix下怎样判断一个进程是否还存在?
  • 判断一个对象存在不存在,如何判断?
  • 知道应用程序名,怎样判断其进程是否存在?
  • 如何判断用 CreateProcess() 创建的进程已经结束?
  • 如何判断文件没有被其他进程访问?
  • 如何判断哪个锁/进程ID发生了死锁?
  • 如何判断一个进程的状态?
  • 如何判断某一进程已经启动?
  • 如何判断是否有其它进程写某文件(急!!!)

关键词

  • 进程
  • 存在
  • 判断
  • proc
  • 目录
  • pid
  • 是否

得分解答快速导航

  • 帖主:xronguo

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo