热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c/c++开发分享如何从Solaris系统以C/C++编程方式获取进程信息?

是否有CC++库以及有关如何在Solaris上收集系统和进程信息的文档?虽然我可以解析命令行工具,但我宁愿使用一个使任务更容易的库。谢谢编辑:有人建议使用proc虚拟目录来收集信息

是否有C / C ++库以及有关如何在Solaris上收集系统和进程信息的文档?

虽然我可以解析命令行工具,但我宁愿使用一个使任务更容易的库。

谢谢

编辑:有人建议使用/ proc虚拟目录来收集信息,但是它比解析命令行工具要好得多,因为我需要为每一段数据实现某种自定义解析需要。

我正在寻找一些针对Windows或MacOS的c库,通过基于c的系统API提供这些信息,但我对谷歌没有好运。

    您可以使用kstat API获取此类信息。

    man -s 3KSTAT kstat 

    您可以在OpenSolaris vmstat和iostat源中看到它的使用方式。

    有关processus的信息,我会看看ps 。

    Solaris具有/ proc虚拟目录 ,允许您使用文件系统I / Ofunction收集有关进程的各种信息。

    我会像CrashWorks建议的那样使用/ proc virutal目录。 我在aux和linux上都做过这个。 要记住的一件事是当我在linux上使用/ proc目录时,文件的格式因内核而异。

    我不知道Solaris方面的情况如何,但这可能意味着您的解决方案无法从一个solaris平台移植到另一个平台。

    怎么样getrusage()

    我肯定不是这个主题的专家,但是当我们被要求拍摄过程的快照时,我做了一个非常类似于上学期的作业。 不幸的是,这种方法需要挖掘内核,这可能不是你想要做的。

    我发现这篇文章很有帮助。

    无论如何这里有一些片段。

      write_lock_irq(&tasklist_lock); for_each_process(task) { if (system_or_user == 0) print_mem_user(task); if (system_or_user == 1) print_mem_system(task); } write_unlock_irq(&tasklist_lock); 

    锁定某些数据结构或有时锁定内核所需的想法将会挂起。 “for_each_process”是在某处定义的宏,但我不记得它是如何工作的D:

     static void print_mem_system(struct task_struct *task) { struct mm_struct *mm; if (task -> mm == NULL){ // this is how you distinguish system processes from user processes myarraypid[totalnumberofprocesses] = task -> pid; // store process id's into myarraypid[], which you can later copy back to user space for printing/display. Additional information would be found in a "task_struct" which is Linux's implementation of a process. } } 

    我的一些同学采用了不同的方法,潜入了“ps”实用程序的源头。 我相信我正在研究Linux 2.6.18-92.1.13.e15。 免责声明:这对我有用,但您的里程可能会有所不同。 我很可能会离开墙,我不想让你走错方向。

      以上就是c/c++开发分享如何从Solaris系统以C / C ++编程方式获取进程信息?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(编程笔记)。


      推荐阅读
      • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
      • Spring源码解密之默认标签的解析方式分析
        本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
      • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
      • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
      • Java容器中的compareto方法排序原理解析
        本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
      • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
      • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
        本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
      • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
        本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
      • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
      • 后台获取视图对应的字符串
        1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
      • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
      • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
      • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
      • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
      • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
      author-avatar
      思念着你2502859117
      这个家伙很懒,什么也没留下!
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有