对进程个数计数
?在linux怎么知道一個指定的“進程名”有幾個在運行了呢?
下面這下例子演示了這個過程,計數函數為:getProcessCount()
?
#include <stdio.h> #include <stdlib.h> #include <string.h>// 獲取進程數量 int getProcessCount(char *processname) {FILE *ptr;char buff[512], ps[128];int count = -1;sprintf(ps, "ps -e|grep -c ' %s$'", processname); // 對指定的進程名計數(求個數)if((ptr = popen(ps, "r")) != NULL){if(fgets(buff, 512, ptr) != NULL){count = atoi(buff);}}pclose(ptr);return count; }int main(int argc, char *argv[]) {if(argc == 2){int ret = getProcessCount(argv[1]); // 獲取進程數量printf("Count[%s] = %d\n", argv[1], ret);}else{printf("Usage error!\n");}return 0; }如果要判斷某個進程是否存在的話,只要判斷這個進程的個數就知道了。小于1就是不存在,否則存在。
?
?參考了網上的代碼:http://blog.csdn.net/lanmanck/article/details/6021878
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
- 上一篇: 日本著名数学游戏专家中村义作教授提出这样
- 下一篇: 详解Objective-C的meta-c