当前位置:  技术问答>linux和unix

求教个关于ps ,grep相关的简单问题

    来源: 互联网  发布时间:2016-03-09

    本文导语:  不懂LINUX,需要写个C语言的代码去监视某个进程(知道进程名称),如果消失就重启 这是抄录的一段代码(偶自己作了一点点修改),根据进程名称,获取该进程的PID,如果获取PID失败就启动程序 现在的问题是,代...

不懂LINUX,需要写个C语言的代码去监视某个进程(知道进程名称),如果消失就重启

这是抄录的一段代码(偶自己作了一点点修改),根据进程名称,获取该进程的PID,如果获取PID失败就启动程序
现在的问题是,代码是实现查找包含进程名称的最后一个进程的PID,而我需要的则是完全匹配进程名,grep这里如何实现完全匹配,而不是包含该进程名称....

  sprintf(szCmd, "ps -eo ppid,pid,fname |grep %s |awk '{if ($1==1){print $2}}'", process_name); 
  if ((pFile = popen(szCmd, "r")) == NULL) 
    { 
      return -1; 
    } 

  while (fgets(szBuf, sizeof(szBuf), pFile)) 
    { 
      sscanf(szBuf, "%d", &pid); 
      break; 
    } 
  pclose(pFile); 
  return pid;

另外如果我需要重启的程序,有可能要启动多个进程,用system("/abcd/myobj arg")启动该程序到最后要出错
但是我在控制台下输入
cd /abcd
./myobj arg
这样子启动,程序不会出错
对于这种情况,我该怎么shelll这个程序?

麻烦大家帮我解决下问题,谢谢,潜水CSDN多年,就分多,呵呵,高分求教,希望重金之下必有勇夫  ^_^

|
sprintf(szCmd, "ps -eo ppid,pid,fname  ¦grep " %s$"  ¦awk '{if ($1==1){print $2}}'", process_name);  

几点注意:grep字符串用引号括起来,最前面是一个空格,最后面试一个$,表示行结束

|
system("/abcd/myobj arg")加上后台运行应该就可以了

|
通过扫描/proc/数字目录下的cmdline文件,可以获得进程名称

|
楼主还不如直接用shell+awk解决呢!
用crontab做个定时任务就搞定了
类似看门狗的功能
或者直接用软件看门狗

    
 
 

您可能感兴趣的文章:

  • Linux相关问题求教
  • socket相关问题(新手求教)
  • 求教求教,shell问题...各位大哥,帮忙下
  • 400分求教: 求教一简单问题,现场给分
  • Linux远程访问的问题,高分求教:)
  • 400分求教JAVA皮肤的问题
  • 400分求教JAVA皮肤的问题
  • 求教一个问题:
  • shell编程中,求教,查找子字符串位置的问题
  • 求教一个grep问题
  • vim使用问题求教
  • 新手求教:关于ftp命令的问题,请大家帮帮忙
  • 初学者有问题求教!
  • 高分求教的问题(关于SendMail设置)
  • 简单问题:从sun网站上当了个jdk1.4b3,bin后缀,求教怎么安装
  • 求教JAVA中XML解析问题
  • JDK1.3.1初级问题求教
  • [求教]:NFS的连接问题.做NFS时报连接错误,据称是portmap问题,但...
  • RH9下文件拷贝出错问题,求教
  • 有关L的问题(菜鸟求教)???
  • 100分求教Solaris 8 网卡安装问题 十万火急!
  • 求教:collection的问题,解决问题立刻结帐
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 简单问题:从sun网站上当了个jdk1.4b3,bin后缀,求教怎么安装 iis7站长之家
  • 急!!求教linux命令的使用:统计出/bin目录中文件的个数,追加到文件filea的结尾
  • 求教:在UNIX中查找包含指定文字的文件名
  • 小白菜求教linux大鸟
  • 各路高手请进!高分求教,非常着急!
  • 求教:知道当前时间,如何得到N天前的时间 ?
  • 求教:switch(condition)中的condition 必须为整型吗?
  • 求教:在Linux下如何做代理服务器?
  • 紧急求教!究竟Java里面有没有相当于C++的CPOINT的类阿?
  • 50分求教,在JSP里如何将String转换成Double
  • 我刚装好,是不是需要配制环境变量?求教。
  • 初学者的求教!
  • 求教了。。远程调研shell,用什么好啊?
  • 求教:tar 如何不打包路径
  • 求教:LIUNX 学开发还是学主机维护。。??
  • 求教Sed特定情景的用法
  • 求教linux C++学习之路!
  • 求教,bash脚本如何调用含键盘输入的可执行文件。
  • 求教linux的ARCH ?= $(XXX)中符号“?=”怎么理解?先谢过
  • 求教用一个端口能否实现3G视频传输


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3