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