linux c 获取当前运行进程总数

获取当前运行进程总数的命令为:

 ps auxw | wc -l

获取当前运行进程总数的源码如下:

#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
int main(int argc, char *argv[])
{
    DIR *dp;
    struct dirent *dirp;
    int i, len,count = 0;

    if( (dp = opendir("/proc") )== NULL) {
        fprintf(stderr,"%s file %d line %s",__FILE__,__LINE__, strerror(errno));
        exit(1);
    }
    printf("1\n");
    while((dirp = readdir(dp)) != NULL) {
        if(dirp->d_type == DT_DIR) {
            len = strlen(dirp->d_name);
            for( i = 0; dirp->d_name[i] != 0; ++i) {
                if( ! isdigit(dirp->d_name[i])) {
                    break;
                }
            }
            if( len == i) {
                printf("d_name: %s\n",dirp->d_name);
                ++count;
            }

        }
    }
    printf("当前系统运行进程数 %d\n",count);
    closedir(dp);
    return 0;
}

总结:

大概的编程思想就是统计 /proc 目录下 所有以数字命名的文件夹 个数。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 06:22:09

linux c 获取当前运行进程总数的相关文章

在Linux中通过Top运行进程查找最高内存和CPU使用率

按内存使用情况查找前15个进程,在批处理模式下为“top” 使用top命令查看有关当前状态,系统使用情况的更详细信息:正常运行时间,负载平均值和进程总数. 分类:Linux命令操作系统 2016-07-27 00:00:00 类似于前面的技巧有关找出由RAM和CPU使用率最高的进程 ,还可以使用top命令来查看相同的信息. 也许有相比前一个这种方法的一个额外的优势:顶级的“头”,提供有关当前状态和使用该系统的额外信息:正常运行时间,平均负载和进程总数,仅举几例例子. 按顶部查找按内存使用的进程

Android之——获取进程总数、内存、任务列表

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47263863 如今,基于Android平台的应用越来越多,不乏这样一些应用程序,这些应用可以多手机中的进程,内存和任务列表进行管理.Android系统中没有自带的应用程序对这些数据进行管理.大家不禁会说,Android的应用设置里面有这些功能啊!是的,虽然应用设置里面有,但是我们如果想看一下系统的进程,还要跑到系统设置里面去看吗?这样是不是很麻烦?是不是很挫呢?那获取Androi

Window获取所有运行的进程

通过遍历任务管理器,输出当前正在运行的进程ID和Name. 同时打印出遍历过程所消耗的时间. /* @Date:2014/6/8 @Author:Alex */ #include <iostream> #include <string> #include <map> #include <windows.h> #include <TlHelp32.h> using namespace std; bool traverseProcesses(map&

Linux Shell常用技巧(九) 系统运行进程

Linux Shell常用技巧(九) 系统运行进程 十九.  和系统运行进程相关的Shell命令:       1.  进程监控命令(ps):      要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以 确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.    ps命令存在很多的命令行选项和参数,然而我们最为常用

linux内核获取当前进程路径分析

一个简单的问题,·linux下获取当前进程.我们都知道在内核中获取当前进程可以利用current宏 #define get_current() (current_thread_info()->task) #define current get_current() 通过get_current发现其是利用当前线程获取的当前进程线程结构thread_info结构中有指向其所属的进程指针task static inline struct thread_info *current_thread_info(

Linux网络技术管理及进程管理

OSI七层模型和TCP/IP四层模型 OSI七层模型:OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系. TCP/IP四层模型:TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型. 分层作用:方便管理 七层模型优点: 1.把复杂的网络划分成为更容易管理的层(将整个庞大而复杂的问题划分为若干个容易处理的小问题) 2.没有一个厂家能完整的提供整套解决方案和所有的

linux驱动current,引用当前进程,及task_struct(转)

尽管内核模块不象应用程序一样顺序执行, 内核做的大部分动作是代表一个特定进程的. 内核代码可以引用当前进程, 通过存取全局项 current, 它在 <asm/current.h> 中定义, 它产生一个指针指向结构 task_struct, 在 <Linux/sched.h> 定义. current 指针指向当前在运行的进程. 在一个系统调用执行期间, 例如 open 或者 read, 当前进程是发出调用的进程. 内核代码可以通过使用 current 来使用进程特定的信息, 如果它

实验六———分析Linux内核创建一个新进程的过程

分析Linux内核创建一个新进程的过程 攥写人:李鹏举  学号:20132201 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ) 本周要求: 阅读理解task_struct数据结构http://codelab.shiyanlou.com/xref/linux-3.18.6/include/linux/sched.h#1235: 分析fork函数对应的内核处理过

浅谈Linux系统中如何查看进程 ——ps,pstree,top,w,全解

进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源.一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝. 1,ps命令 作用:ps命令主要用于查看系统中进程的状态. 用法:ps [选项] 主要选项如下: -e 显示所有进程 -a 跟终端无关的进程 (BSD风格,不加横杆) -x 跟终端有关的进程 -u 发起者 -F 额外信息 -f 显示完整信息 -j 以作业的方式显示进程 -H 显示进程的关系 -o 自定义显示哪些字段 单一