Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C语言中求进程的极限_C_Linux_Fork_Limit_Process - Fatal编程技术网

如何在C语言中求进程的极限

如何在C语言中求进程的极限,c,linux,fork,limit,process,C,Linux,Fork,Limit,Process,我正在运行一个带有多个fork的程序,该程序基于输入的分配编号,我想获得系统在fork之前允许我创建的进程数,这样我就可以打印错误消息并停止程序,而不是试图在-1之前进行fork 在C语言中有这样做的方法吗?我认为可以使用getrlimit()作为资源类型RLIMIT\u NPROC。 有关系统调用的更多信息,您可以查看getrlimit的手册页。我认为您可以将getrlimit()用于资源类型RLIMIT\u NPROC。 有关系统调用的更多信息,您可以查看getrlimit的手册页。我认为您

我正在运行一个带有多个fork的程序,该程序基于输入的分配编号,我想获得系统在fork之前允许我创建的进程数,这样我就可以打印错误消息并停止程序,而不是试图在-1之前进行fork


在C语言中有这样做的方法吗?

我认为可以使用getrlimit()作为资源类型RLIMIT\u NPROC。
有关系统调用的更多信息,您可以查看getrlimit的手册页。

我认为您可以将getrlimit()用于资源类型RLIMIT\u NPROC。
有关系统调用的更多信息,您可以查看getrlimit的手册页。

我认为您可以将getrlimit()用于资源类型RLIMIT\u NPROC。
有关系统调用的更多信息,您可以查看getrlimit的手册页。

我认为您可以将getrlimit()用于资源类型RLIMIT\u NPROC。
有关系统调用的更多信息,您可以查看getrlimit的手册页。

您可以使用
getrlimit
获取当前用户的进程数限制。查看
mangetrlimit
了解更多详细信息

#include <sys/resource.h>

rlim_t max_processes_for_current_user(void) {
   struct rlimit rlp;
   getrlimit(RLIMIT_NPROC, &rlp);
   return rlp.rlim_max;
}
#包括
rlim\u t max\u为当前用户处理(无效){
结构rlimitrlp;
getrlimit(RLIMIT_NPROC和rlp);
返回rlp.rlim_max;
}

但要知道是否能够创建新进程,还需要计算当前用户已经运行了多少进程。此外,在检查当前进程的限制和数量与创建新进程之间存在竞争条件。您还可以遇到全局限制。

您可以使用
getrlimit
获取当前用户的进程数限制。查看
mangetrlimit
了解更多详细信息

#include <sys/resource.h>

rlim_t max_processes_for_current_user(void) {
   struct rlimit rlp;
   getrlimit(RLIMIT_NPROC, &rlp);
   return rlp.rlim_max;
}
#包括
rlim\u t max\u为当前用户处理(无效){
结构rlimitrlp;
getrlimit(RLIMIT_NPROC和rlp);
返回rlp.rlim_max;
}

但要知道是否能够创建新进程,还需要计算当前用户已经运行了多少进程。此外,在检查当前进程的限制和数量与创建新进程之间存在竞争条件。您还可以遇到全局限制。

您可以使用
getrlimit
获取当前用户的进程数限制。查看
mangetrlimit
了解更多详细信息

#include <sys/resource.h>

rlim_t max_processes_for_current_user(void) {
   struct rlimit rlp;
   getrlimit(RLIMIT_NPROC, &rlp);
   return rlp.rlim_max;
}
#包括
rlim\u t max\u为当前用户处理(无效){
结构rlimitrlp;
getrlimit(RLIMIT_NPROC和rlp);
返回rlp.rlim_max;
}

但要知道是否能够创建新进程,还需要计算当前用户已经运行了多少进程。此外,在检查当前进程的限制和数量与创建新进程之间存在竞争条件。您还可以遇到全局限制。

您可以使用
getrlimit
获取当前用户的进程数限制。查看
mangetrlimit
了解更多详细信息

#include <sys/resource.h>

rlim_t max_processes_for_current_user(void) {
   struct rlimit rlp;
   getrlimit(RLIMIT_NPROC, &rlp);
   return rlp.rlim_max;
}
#包括
rlim\u t max\u为当前用户处理(无效){
结构rlimitrlp;
getrlimit(RLIMIT_NPROC和rlp);
返回rlp.rlim_max;
}

但要知道是否能够创建新进程,还需要计算当前用户已经运行了多少进程。此外,在检查当前进程的限制和数量与创建新进程之间存在竞争条件。此外,您还可能会遇到全局限制。

您可以处理
ps aux
的输出,例如。的可能重复。您可以处理
ps aux
的输出,例如。的可能重复。您可以处理
ps aux
的输出,例如。可能的重复。可能的重复您可以处理
ps aux
的输出,例如。可能的重复。可能的重复