GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi la méthode suivante ne modifie-t-elle pas la taille limite du fichier principal ?

Pour résoudre le problème dans https://unix.stackexchange.com/a/446428/674, j'ai suivi https://stackoverflow.com/a/17483998/156458, mais il ne définit pas la taille limite du fichier principal ?

$ sudo sh -c "ulimit -c 1024 && exec su t"

$ ulimit -c
0
  1. Cette méthode modifie-t-elle temporairement la taille limite du fichier principal uniquement pour le shell actuel, ou de manière permanente pour tous les shells de tous les utilisateurs ou de l'utilisateur actuel ?

  2. Mise à jour : Le message d'origine https://stackoverflow.com/a/17483998/156458 et https://unix.stackexchange.com/a/238413/674 et https://unix.stackexchange.com/a/169035/674 sont tous recommandés en utilisant sudo sh -c "ulimit -c 1024 && exec su $LOGNAME" . Mais les deux ulimit -c 1024 et exec su $LOGNAME" n'affecte que le shell créé par sudo , alors quel est le but de la commande ? exec su $LOGNAME" ne fait rien non plus de significatif pour utiliser la limite modifiée.

Remarque : Je me concentre sur la raison pour laquelle la méthode ci-dessus ne fonctionne pas, bien qu'il existe d'autres moyens de contourner le problème :

  1. Je devrais mettre la commande qui utilise la nouvelle valeur limite dans le
    shell exécuté par sudo

    ex.

    $ sudo sh -c "ulimit -c 1024 && sleep 100"
    ^Quit
    $ ls
    core
    
  2. Je pourrais aussi essayer de modifier /etc/security/limits.conf .

Réponse acceptée :

Selon la page de manuel, ulimit "Fournit un contrôle sur les ressources disponibles pour le shell et les processus démarrés par celui-ci". Donc le ulimit la valeur est valide pour le shell actuel.

Vous appelez ulimit dans un sous-shell, et quand il se termine, vous revenez à la valeur par défaut ulimit valeur.

[[email protected] ~]# ulimit -c
0
[[email protected] ~]# ulimit -c 1024
[[email protected] ~]# ulimit -c
1024

Linux
  1. Pourquoi 'sshpass' n'est pas le bon moyen d'automatiser les transferts de fichiers sous Linux

  2. Pourquoi l'expression régulière fonctionne-t-elle dans X mais pas dans Y ?

  3. Pourquoi "zip" dans une boucle For fonctionne-t-il lorsque le fichier existe, mais pas lorsqu'il n'existe pas ?

  4. Pourquoi Ls et Hexdump ne sont-ils pas d'accord sur la taille du fichier ?

  5. Comment augmenter la limite de taille de téléchargement de fichiers dans Apache

Pourquoi `exit &` ne fonctionne pas ?

Core dumpé, mais le fichier core n'est pas dans le répertoire courant ?

Pourquoi Windows ne reconnaît-il pas les fichiers à l'intérieur des partitions Linux ?

Sous Linux, est-il possible de chiffrer un dossier/partition de manière à ce qu'il ne soit accessible à personne sans le mot de passe ?

L'utilisation de chown pour changer le groupe propriétaire d'un répertoire n'est pas autorisée... Pourquoi ?

Quelle est la limite de taille de /etc/hosts ?