¿Qué parámetros tiene ulimit?

11

Veo en ejemplos que la -uopción se usa con el ulimitcomando, pero no puedo encontrar documentación que diga qué significa esa opción. man ulimitmuestra el manual para una función de biblioteca del sistema. ¿Qué opciones ulimittiene y qué significan?

Mnementh
fuente

Respuestas:

9

El comando ulimit es un comando incorporado que utiliza las funciones C descritas por man: su propia ayuda se incluye en la página de manual de Bash, accesible con man bash.

Puede enumerar todas las opciones disponibles con ulimit -h, y ver su significado correspondiente utilizando ulimit -ala lista de todos los tipos de limitaciones disponibles y sus valores actuales, dependiendo de su sistema:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
Eureka
fuente
1
Tenga en cuenta que ulimit -hno es compatible en todas partes, al menos no en Bash 4.2.25.
DreadPirateShawn
ulimit -h no enumera nada de esto en, por ejemplo, Ubuntu 16.04
mate
8

ulimittiene que ser un shell incorporado ya que el límite que establece se aplica tanto al shell como a los programas que inicia. El único argumento portátil es -f(límite de tamaño de archivo, en unidades de 512 bytes). La mayoría de los shells tienen más opciones, deberá verificar la documentación del shell para saber exactamente cuáles son. Con shells portátiles como bash y ksh, algunas variantes de Unix pueden no admitir un límite incluso si la shell reconoce la opción correspondiente.

Opciones que son compatibles con cada shell que he visto:

  • -H: Combine con otras opciones para establecer o mostrar solo el límite duro.
  • -S: Combine con otras opciones para establecer o mostrar solo el límite flexible.
  • -c: tamaño máximo de archivo central (bloques de 512 bytes)
  • -d: tamaño máximo de almacenamiento dinámico (segmento de datos) (kB)
  • -f: tamaño máximo de archivo (bloques de 512 bytes)
  • -n: número máximo de descriptores de archivo
  • -s: tamaño máximo de pila (kB)
  • -t: tiempo máximo de CPU

Algunas otras opciones muy comunes:

  • -a: Muestra todos los límites.
  • -m: tamaño máximo de memoria física (kB)
  • -v: tamaño máximo de memoria virtual (kB)
Gilles 'SO- deja de ser malvado'
fuente