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

用c如何完成判断某个服务是否开启 (请各位指点一下!谢谢)

    来源: 互联网  发布时间:2015-08-27

    本文导语:  用c如何完成判断某个服务是否开启 (请各位指点一下!谢谢) 我现在没有任何头绪或者方法!请各位指点一下!谢谢!或者告诉我大概要看哪些内容! | 如果知道进程名 就可以用下面的代码: =======...

用c如何完成判断某个服务是否开启 (请各位指点一下!谢谢)
我现在没有任何头绪或者方法!请各位指点一下!谢谢!或者告诉我大概要看哪些内容!

|
如果知道进程名 就可以用下面的代码:
=========================================================================
#include "unistd.h" 
#include "dirent.h" 
#include "sys/param.h" 
#include "sys/types.h" 
#include "sys/wait.h"
#include "sys/stat.h" 
#include "stdio.h" 
//-----------------------------------------------------------------------------
#define READ_BUF_SIZE 50 
char sts[READ_BUF_SIZE]; //用来保存进程的状态
//-----------------------------------------------------------------------------

 
void find_status_by_name(char* pidName) 

DIR *dir; 
struct dirent *next; 
FILE *file; 
char filename[READ_BUF_SIZE]; 
char buffer[READ_BUF_SIZE]; 
char name[READ_BUF_SIZE];
 
dir = opendir("/proc"); 
if (!dir) 

fprintf(stderr, "Cannot open /procn"); 



while ((next = readdir(dir)) != NULL) 


/* Must skip ".." since that is outside /proc */ 
if (strcmp(next->d_name, "..") == 0) 
continue; 

/* If it isn't a number, we don't want it */ 
if (!isdigit(*next->d_name)) 
continue; 

sprintf(filename, "/proc/%s/status", next->d_name); 
if (! (file = fopen(filename, "r")) ) 

continue; 

/* Read first line in /proc/?pid?/status */ 
fgets(buffer, READ_BUF_SIZE-1, file);


/* Buffer should contain a string like "Name: binary_name" */ 
sscanf(buffer, "%*s %s", name); 
if (strcmp(name, pidName) == 0) 

fgets(buffer, READ_BUF_SIZE-1, file);
fclose(file);
sscanf(buffer, "%*s %s", sts);
  break;
}

closedir(dir);
}
==============================================================================
然后查看sts中是什么
R ->runable
S ->Sleep
......

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问,如何用程序判断一个用ftp传输的文件已经完成?
  • CSHELL如何完成这样的功能,判断一个文件夹下面是否存在文件??
  • 关于如何判断程序运行完成的问题,在线等候
  • 请问如何判断往串口的写操作(write)已经完成???高分请教!!!
  • 在一个TCP连接完成后进行通信,如何判断对方已经关闭了?
  • php安装完成后如何添加mysql扩展
  • olap工具软件,主体开发工作已经完成,欠缺web方式交互式的分析数据功能,欲通过java来完成,寻求合作
  • CentOS下PHP安装完成后继续安装GD扩展库
  • 未使用链接器输入文件,因为链接尚未完成
  • jQuery自动完成插件 jqac
  • 输入框自动完成组件 AutoSuggest
  • 请问如何确认FTP上传完成。谢谢。
  • jQuery输入自动完成 Combogrid
  • jQuery自动完成插件 jQuery.autocomplete
  • 请问BASH如何查询一个程序完成的进度
  • jQuery 自动完成插件 jQuery completer
  • jQuery自动完成插件 Autobox2
  • jQuery自动完成插件 jQuery AutoComplete
  • 在tomcat下,如何记录用户已经关闭浏览器了,并完成处理?
  • 怎样停止一个未完成的I/O操作?
  • 完成一个文件上传需要解决那些问题?
  • 急!急!red hat linux9.0 安装完成不能进入图形界面
  • 求用c语言完成下载文档的cgi
  • fedora9正式版安装完成重启时显示“输入不支援”怎么办?急!
  • 通过rpm完成安装GCC之后 。。。
  • linux安装完成后,如何变更SWAP的大小


  • 站内导航:


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

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

    浙ICP备11055608号-3