GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum ändert der folgende Weg die Größe der Kerndatei nicht?

Um das Problem in https://unix.stackexchange.com/a/446428/674 zu lösen, bin ich https://stackoverflow.com/a/17483998/156458 gefolgt, aber es wird keine Kerndatei-Grenzgröße festgelegt?

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

$ ulimit -c
0
  1. Ändert sich auf diese Weise die maximale Größe der Kerndatei vorübergehend nur für die aktuelle Shell oder dauerhaft für alle Shells aller Benutzer oder des aktuellen Benutzers?

  2. Aktualisierung: Die ursprünglichen Beiträge https://stackoverflow.com/a/17483998/156458 und https://unix.stackexchange.com/a/238413/674 und https://unix.stackexchange.com/a/169035/674 werden alle empfohlen mit sudo sh -c "ulimit -c 1024 && exec su $LOGNAME" . Aber beide ulimit -c 1024 und exec su $LOGNAME" wirkt sich nur auf die von sudo erstellte Shell aus , was ist also der Zweck des Befehls? exec su $LOGNAME" macht auch nichts Sinnvolles, um das geänderte Limit zu nutzen.

Hinweis: Ich konzentriere mich darauf, warum der obige Weg nicht funktioniert, obwohl es andere Möglichkeiten gibt, das Problem zu umgehen:

  1. Ich sollte den Befehl, der den neuen Grenzwert verwendet, in die
    Shell einfügen, die von sudo

    ausgeführt wird

    z. B.

    $ sudo sh -c "ulimit -c 1024 && sleep 100"
    ^Quit
    $ ls
    core
    
  2. Ich könnte auch versuchen, /etc/security/limits.conf zu ändern .

Akzeptierte Antwort:

Laut Manpage ulimit „liefert die Kontrolle über die Ressourcen, die der Shell und den von ihr gestarteten Prozessen zur Verfügung stehen“. Also das ulimit Wert ist für die aktuelle Shell gültig.

Sie rufen ulimit auf in einer Subshell, und wenn sie beendet wird, sind Sie wieder beim Standard-ulimit Wert.

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

Linux
  1. Warum „sshpass“ nicht der richtige Weg ist, um Dateiübertragungen unter Linux zu automatisieren

  2. Warum funktioniert der reguläre Ausdruck in X, aber nicht in Y?

  3. Warum liefert `md5sum` nicht den gleichen Hash wie das Internet?

  4. Warum funktioniert `exit &` nicht?

  5. Wie berechnet der Befehl stat die Blöcke einer Datei?

Der Linux-Befehl sed ändert die Zieldatei nicht

Gibt es eine Möglichkeit, die dekomprimierte Größe einer .bz2-Datei zu bestimmen?

bash:ulimit:Kerndateigröße:Grenze kann nicht geändert werden:Operation nicht erlaubt

Warum gibt mir das Wgeting eines Bildes eine Datei und kein Bild?

Die Verwendung von chown zum Ändern des Gruppeneigentümers eines Verzeichnisses ist nicht erlaubt....Warum?

Was ist die Größenbeschränkung für /etc/hosts?