Ma question ne concerne probablement pas Ubuntu en particulier, mais depuis que mon ordinateur de bureau utilise cet OS, je suis arrivé à ce forum.
J'essaie de modifier la taille du fichier principal à l'aide de la commande ulimit -c
comme suit:
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7959
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) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Changer la limitation:
$ ulimit -c unlimited
Observer le résultat:
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7959
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) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
En effet la limite est changée. Cependant, lorsque j'ouvre un autre terminal et vérifie la valeur, je vois toujours la valeur zéro dans la taille du fichier principal.
Des questions:
ulimit
n’affectent-elles que le processus en cours, c’est-à-dire, dans ce cas, bash
?ulimit
s'applique à un nouveau processus?ulimit
est un shell intégré, et n'affecte donc que le shell actuel, et les processus démarrés par ce shell:
$ type ulimit
ulimit is a Shell builtin
De man ulimit
:
The ulimit utility shall set or report the file-size writing limit
imposed on files written by the Shell and its child processes (files of
any size may be read). Only a process with appropriate privileges can
increase the limit.
Donc, oui, les processus enfants sont affectés.
Pour définir des limites permanentes ou pour tous les processus, éditez /etc/security/limits.conf
et redémarrez. Les exemples dans la page de manuel sont assez bons. Vous devez juste ajouter quelque chose comme:
username - core unlimited