linux当中的系统限制以及相关系统信息

960阅读 0评论2020-02-09 stolennnxb
分类:LINUX

1. 在运行时获取系统限制:

点击(此处)折叠或打开

  1. #include <unistd.h>
  2. long sysconf(int name);
  3. /*returns value of limit specified by name, or -1 if limit is indeterminate or an error occurred*/
2. 运行时获取与文件相关的限制:

点击(此处)折叠或打开

  1. #include <unistd.h>
  2. long pathconf(const char *pathname, int name);
  3. long fpathconf(int fd, int name);
  4. /*both return value of limit specified by name, or -1 if limit is indeterminate or an error occurred*/
3. 不确定限制

有时系统实现并未将一些系统限制定义为限制常量(如PATH_MAX),并且sysconf(), pathconf()在返回相应限制时会将其归为不确定,对此,可以采用如下策略之一:


4. 系统选项
通过在文件中定义相应常量,UNIX实现能够在编译时通告其对特定SUSv3选项的支持。此类常量的命名均会冠以前缀(_POSIX_或者_XOPEN_),以标识其源于何种标准。
各个选项常量,一经定义,其值必为下列之一:
5. /proc 文件系统

获取与进程有关的信息:/proc/PID
每个/proc/PID目录中都存在一个命名为status的文件夹,提供了有关该进程的一系列信息:
文件 描述(进程属性)
cmdline 以\0分割的命令行参数
cwd 指向当前工作目录的符号链接
environ name->value键值对环境列表,、\0分割
exe 指向正在执行文件的符号链接
fd 文件目录,包含了指向由进程打开文件的符号链接
maps 内存映射
mem 进程虚拟内存
mounts 进程的安装点
root 指向根目录的符号链接
status 各种信息(如进程id、凭证、内存使用量、信号)
task 为进程中的每一个线程均包含一个子目录

/proc目录下的各种文件和子目录,提供了对系统级信息的访问,一般用途如下,其中方框表示目录,圆角矩形表示文件:






上一篇:linux当中的时间
下一篇:Linux当中的文件I/O缓冲