• c++ 获取某个进程个数


    我们用system()调用shell很容易就可以办到了,但是我们往往想把这个数量存到一个整形变量里面,因为system调用之后会把结果定向到控制台。

    我找了半天吧system定位到标准输出的方法,无奈没找到,所以只能先把它定向到一个file里面,这样我从file里面可以获取这个数值。

    1.具体实现:

    #include <iostream>
    #include <sys/stat.h>
    #include <fstream>
    
    system("rm -rf p_cnt.txt");
    system("ps gaux | grep MyTest | grep -v grep | wc -l > p_cnt.txt");
    ifstream fin("./p_cnt.txt");
    string num = "0";
    getline(fin,num,'\n');
    fin.close();
    int n = atoi(num.c_str());
    cout<< n <<endl;
    

     先放在一个p_cnt.txt文件中,然后写进去,然后就可以了。

    2.这样一个程序有何用处?

    有些过程化的程序有时会被一个脚本定时的调用,如果这个程序没有执行完而被再次调用,那么该程序的进程必然会增加,严重时可以导致这个程序开很多进程,情况会因此而加剧,导致卡主的进程越来越多。我们可以通过这个方式来控制这个程序进程的数量。比如加上个判断:

    if(n>MAX_NUM) exit(-1);

    ;)

  • 相关阅读:
    CSS关键词的值-currentColor关键字提示文字(当前颜色)
    DOM 对象方法
    CSS三种样式表
    html页面不使用缓存的代码
    DOM-----style属性对照表
    UISwitch属性
    UIImageView属性
    UIView属性
    UIScrollView
    UILabel属性
  • 原文地址:https://www.cnblogs.com/colorfulkoala/p/2767653.html
Copyright © 2020-2023  润新知