Linux下用C语言检查指定程序名的运行实例个数

74 篇文章 0 订阅
27 篇文章 0 订阅

Linux下用C语言检查指定程序名的运行实例个数。

直接上源代码:

#include<stdio.h>
#include<string.h>


// 
// 名称:detect_process
// 描述:检查指定程序名的运行实例个数。
// 参数:指定程序名称。
// 返回:大于等于0 - 实例个数,-1 - 出现错误。
int detect_process(const char * process_name)  
{  
		int n = -1; 
		
		FILE *strm;  
		char buf[128];  

		sprintf(buf,"ps -e | grep -c %s", process_name);  
		
		if((strm=popen(buf, "r")) != NULL)  
		{  
			if(fgets(buf, sizeof(buf), strm) != NULL)  
				n = atoi(buf); 
		}else
		{
			return -1;
		}		
		
		pclose(strm);   
		 
		return n;  
} 

//
// 名称:main
// 描述:主函数,测试 detect_process 函数。
// 参数:指定程序名称。
int main(int argc, char *argv[])
{
	int  n;
	
	if((n = detect_process(argv[1] )) != -1)
		printf("the \"%s\" process count = %d\n", argv[1], n);
	else
		printf("Error!\n");
	
	return 0;
}
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值