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