社区
Linux/Unix社区
帖子详情
用c如何完成判断某个服务是否开启 (请各位指点一下!谢谢)
努力偷懒
2004-12-18 11:54:30
用c如何完成判断某个服务是否开启 (请各位指点一下!谢谢)
我现在没有任何头绪或者方法!请各位指点一下!谢谢!或者告诉我大概要看哪些内容!
...全文
124
8
打赏
收藏
微信扫一扫
点击复制链接
分享
举报
写回复
8 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cizi_nwu
2004-12-20
我也想知道……
打赏
举报
回复
赞
努力偷懒
2004-12-20
恩!是判断网络服务!不是普通的服务!
打赏
举报
回复
赞
nooning
2004-12-20
服务不只是网络服务吧
打赏
举报
回复
赞
努力偷懒
2004-12-20
Nety2004(~~~oo我不是高手)
说的值得试一下,因为我当时也想了,我可以用bind绑定那个服务的端口,如果绑定成功,说明哪个端口没被使用,如果绑定不成功,那个端口已经被使用!
打赏
举报
回复
赞
mhcio
2004-12-20
自己改一下吧
大致意思就是在/proc下找进程pid
没有找到的话
while循环结束
在while外面加一条就行
找到的话就把状态存入数组中
打赏
举报
回复
赞
mhcio
2004-12-20
如果知道进程名 就可以用下面的代码:
=========================================================================
#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 /proc\n");
}
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
......
打赏
举报
回复
赞
Nety2004
2004-12-19
假如你要判断1.2.3.4的SMTP(25端口)服务是否开启,你只要创建一个socket,用connect()函数去连接该服务器的该端口,如果返回0,表示连接成功,则该服务器有开启该服务;如果返回-1,则表示没有开启.
打赏
举报
回复
赞
blder
2004-12-19
关注
帮你顶
打赏
举报
回复
赞
相关推荐
马来人快来 2020最新mysql面试题
!
!
!
为什么要使
用
数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式?分别有什么区别? 数据类型 mysql有哪些数据类型 引擎 MySQL存储引擎...
黑客入侵
服务
器提升权限总结
就是先检查有什么系统
服务
,或者随系统启动自动启动的程序和管理员经常使
用
的软件, 比如诺顿,VAdministrator,金山,瑞星,WinRAR甚至QQ之类的,
是否
可以写,如果可以就修改其程序, 绑定一个批处理或者VBS,然后...
多个站点同时抓取!怎么做到的?
本篇也将
开启
我自己啃代理池的心得,将逐步放送,因为代理池搭建较为复杂,这里我就尽可能把代理池分成几篇来讲,同时也保证,在我其他篇放出来之前,每一篇都是你们的新知识。 学习就像看小说一样,一次一篇就
❤️❤️新生代农民工熬夜整理Python入门教程,包教包会!附源码❤️❤️
人生苦短,我
用
Python 开发环境搭建 安装 Python 验证
是否
安装成功 安装Pycharm 配置pycharm 编码规范 基本语法规则 保留字 单行注释 多行注释 行与缩进 多行语句 数据类型 空行 等待
用
户输入 print输出 运算符 算术...
C语言写的俄罗斯方块游戏
很久以前,我
用
Tc2.0也做过一个;最近有好些朋友看见我以前的俄罗斯方块的程序后,问我是怎么做的。我一直想把这个程序的整个过程写一份详细的东西,与
各位
编程爱好者分享,一直没空。正好现在放假了,而且离回家...
linux面试大全最新
Linux 使
用
的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什么是BASH?什么是CLI?什么是GUI?开源的优势是什么?GNU项目的重要性是...
从零开始制作游戏外挂
后来得到我是神的
指点
,才知道即使是
用
同一个ID,使
用
同一个版本的mir.dat文件登陆,所得到的第二组数据也会有所不同,个人认为那些不同的数据可 能和登陆的时间,
服务
器的状态有关。知道了这些,就可以把随机变化...
我的一个关于文件的程序 - [C语言]
2005-09-05我的一个关于文件的程序 - [C语言]#includevoid main(){char ch;FILE* fp;if((fp=fopen("test.txt","r"))==NULL){printf("error");exit(1);}fseek(fp,0L,2);while((fseek(fp,-1L,1))
!
=-1){ch=fgetc(fp);pu
iPhone史上最全的使
用
教程
我在这儿说说我的看法,不是官方解释,不懂的学习
一下
,懂的绕道,如有错误,敬
请
指正!第一次买来时或恢复官方固件后,iPhone会处于那种只能拨打紧急电话状态,不能使
用
其它功能,如果要使
用
其它功能,就必须进行一...
咱们的课程里,有微信的这种菜单示例吗?---酷课堂iOS交流群问答整理(201810期)
需要
判断
存取的五个下标
是否
在创建的数组中。根据五个下标存取,这样该如何处理呢? 群主 2018/10/25 15:09:10 从所举的正方体例子可以看出,这个需求使
用
结构体实现
是否
更合理一些?五个纬度
用
结构体的五个属性...
Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
<br />Microsoft .Net Remoting系列专题之一 一、Remoting基础 什么是Remoting,简而言之,我们可以将其看作是一种分布式...这也正是我们使
用
Remoting的原因。为什么呢?在Windows操作系统中,是将应
用
用
TC2.0写俄罗斯方块---cnasm
很久以前,我
用
Tc2.0也做过一个;最近有好些朋友看见我以前的俄罗斯方块的程序后,问我是怎么做的。我一直想把这个程序的整个过程写一份详细的东西,与
各位
编程爱好者分享,一直没空。正好现在放假了,而且离回家...
用
TC2.0写俄罗斯方块游戏---cnasm
很久以前,我
用
Tc2.0也做过一个;最近有好些朋友看见我以前的俄罗斯方块的程序后,问我是怎么做的。我一直想把这个程序的整个过程写一份详细的东西,与
各位
编程爱好者分享,一直没空。正好现在放假了,而且离回家...
iPhone使
用
教程
第一次买来时或恢复官方固件后,iPhone会处于那种只能拨打紧急电话状态,不能使
用
其它功能,如果要使
用
其它功能,就必须进行一项操作,那就是“激活”。一般有锁版的只有使
用
对应运营商的卡(如美国的AT&T卡)或者...
7.Java中的异常、断言、日志【草稿下,Log4j专题】
上边这段代码很好说明了logger在对待LEVEL的时候的
用
法,在setLevel的时候Logger设置了日志器本身的Level,然后在使
用
里面对应的warn、debug方法的时候会
判断
使
用
的方法和日志记录器设置的Level进行详细的比较,当...
Nginx额外篇之ddos攻击防御心得
简单来说就是拒绝
服务
式攻击,通过调
用
客户端对你的
服务
器发起大量的正常
请
求,导致你的系统负载增加,流量暴涨,
服务
器频繁报警。 2.怎么分析ddos攻击了(以Nginx为例)? 日志示例: ipa | - | 06/Jul/2020:17:03:12 ...
计算机必要知识
net命令介绍这篇文章综合了WINDOWS 98,WINDOWS WORKSTATION和WINDOWS SERVER 三个操作系 统关于NET命令的解释,希望可以全面一些 先说一些: (1)NET命令是一个命令行命令。 (2)管理网络环境、
服务
、
用
户、...。。。...
Redis面试题(2020最新版)
为什么要
用
Redis /为什么要
用
缓存 为什么要
用
Redis 而不
用
map/guava 做缓存? Redis为什么这么快 数据类型 Redis有哪些数据类型 Redis的应
用
场景 持久化 什么是Redis持久化? Redis 的持久化机制是什么?...
AWs资料中文翻译pdf4
AWs资料中文翻译pdf4
2022年公司年度工作计划范文10篇.docx
2022年公司年度工作计划范文10篇.docx
发帖
Linux/Unix社区
加入
微信扫一扫
点击复制链接
2.1w+
社区成员
7.4w+
社区内容
Linux/Unix社区 应用程序开发区
申请成为版主
帖子事件
创建了帖子
2004-12-18 11:54
社区公告
暂无公告