ulimit
ulimit [-HSabcdefiklmnpqrstuvxPT] [limit],在支持的系统上,ulimit可以对shell启动的进程可用的资源进行控制。
-H:更改并报告与资源关联的硬限制。
-S:更改并报告与资源关联的软限制。
-a:报告所有当前限制。
-b:最大套接字缓冲区大小。
-c:创建的core文件的最大大小,单位是blocks。
-d:一个进程数据段的最大大小,单位是kbytes。
-e:最大调度优先级,设置的是nice值。
-f:由shell及其子程序写入的文件的最大大小,单位是blocks。
-i:等待的信号的最大数量。
-k:可分配的最大kqueue数量,Kqueue是FreeBSD 4.1在2000年7月引入的一个可伸缩的事件通知接口。
-l:可锁定的最大内存大小,单位是kbytes。
-m:常驻内存大小,但很多系统不遵守这个限制,单位是kbytes。
-n:打开文件描述符的最大数目,大多数系统不允许设置此值。
-p:管道缓冲区大小,单位是bytes。
-q:POSIX消息队列中的最大字节数,单位是bytes。
-r:最大实时调度优先级。
-s:最大堆栈大小,单位是kbytes。
-t:cpu时间最大秒数。
-u:单个用户可用的最大进程数。
-v:shell可用的最大虚拟内存,单位是bytes。在某些系统上也包括其子进程。
-x:文件锁的最大数量。
-P:伪终端的最大数目。
-T:最大线程数。
如果指定了limit,并且没有使用-a选项,那么limit会作为指定资源的新值。limit有三个特殊值hard、soft和unlimited分别表示当前硬限制、当前软限制和无限制。一旦设置了硬限制,除非是root用户,否则不能增加。软限制的值可以增加到硬限制的值。如果未指定limit且没有使用-a选项,则除非使用了-H选项,否则会打印指定的资源的当前软限制的值。在设置新的限制值时,如果-H和-S都没有指定,则会同时设置硬限制和软限制。
如果没有指定任何选项,则默认返回-f选项的结果。
返回状态为零,除非提供了无效的选项或参数,或者在设置新限制时发生错误。