首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Minix:确定工序表的大小

Minix:确定工序表的大小
EN

Stack Overflow用户
提问于 2017-10-14 01:35:41
回答 1查看 550关注 0票数 0

我想遍历所有可能的进程id,但为此,我需要知道流程表的限制。我怎么才能找到这个?

我的想法是做这样的事

代码语言:javascript
复制
    while (counter < table size)
{
    do something
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-14 02:11:21

我认为C中没有posix直接获取这些信息,您需要popen()函数来调用命令行来获取此类信息,我不推荐system(),尽管它类似于popen。(Display all process using a posix function)。

系统最大进程号可以通过命令ulimit设置/检查。

代码语言:javascript
复制
popen("ulimit -a max user processes","r"); 

或者您可以检查当前进程id中的当前最大值。(ps aux显示所有进程,sed查找最后一行,awk查找进程id)。

代码语言:javascript
复制
FILE *fp = popen("ps aux|sed -n '$p'|awk '{print $2F}'","r");
if(NULL!=fp)
{
    char buff[1024];
    fgets(buff,1024,fp);
    printf("%s\n",buff);
    pclose(fp);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46739985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档