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

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;
}
 


 

你可能感兴趣的:(Linux下用C语言检查指定程序名的运行实例个数)