GNU/Linux >> Linux Esercitazione >  >> Linux

Perché il modo seguente non cambia la dimensione del limite del file principale?

Per risolvere il problema in https://unix.stackexchange.com/a/446428/674, ho seguito https://stackoverflow.com/a/17483998/156458, ma non imposta la dimensione del limite del file principale?

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

$ ulimit -c
0
  1. In questo modo cambia temporaneamente la dimensione del limite del file core solo per la shell corrente o in modo permanente per tutte le shell di tutti gli utenti o dell'utente corrente?

  2. Aggiornamento: Il post originale https://stackoverflow.com/a/17483998/156458 e https://unix.stackexchange.com/a/238413/674 e https://unix.stackexchange.com/a/169035/674 tutti consigliati usando sudo sh -c "ulimit -c 1024 && exec su $LOGNAME" . Ma entrambi ulimit -c 1024 e exec su $LOGNAME" riguarda solo la shell creata da sudo , quindi qual è lo scopo del comando? exec su $LOGNAME" inoltre non fa nulla di significativo per utilizzare il limite modificato.

Nota: Mi sto concentrando sul motivo per cui il modo sopra non funziona, sebbene ci siano altri modi per aggirare il problema:

  1. Dovrei inserire il comando che utilizza il nuovo valore limite all'interno della
    shell eseguita da sudo

    es.

    $ sudo sh -c "ulimit -c 1024 && sleep 100"
    ^Quit
    $ ls
    core
    
  2. Potrei anche provare a modificare /etc/security/limits.conf .

Risposta accettata:

Secondo la manpage, ulimit “fornisce il controllo sulle risorse a disposizione della shell e sui processi da essa avviati”. Quindi ulimit il valore è valido per la shell corrente.

Stai invocando ulimit in una subshell e quando termina torni al valore predefinito ulimit valore.

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

Linux
  1. Perché "sshpass" non è il modo giusto per automatizzare i trasferimenti di file in Linux

  2. Perché `md5sum` non fornisce lo stesso hash di Internet?

  3. Perché `zip` in un ciclo For funziona quando il file esiste, ma non quando non lo è?

  4. Perché `esce &` non funziona?

  5. In che modo il comando stat calcola i blocchi di un file?

Perché il file di traduzione Bash non contiene tutti i testi di errore?

Perché Ls e Hexdump non sono d'accordo sulla dimensione del file?

Come aumentare il limite di dimensione del download di file in Apache

Core scaricato, ma il file core non si trova nella directory corrente?

Perché wget'ing un'immagine mi dà un file, non un'immagine?

L'utilizzo di chown per modificare il proprietario del gruppo di una directory non è consentito... Perché?