GNU/Linux >> Znalost Linux >  >> Linux

Proč následující způsob nezmění velikost základního souboru?

Abych problém vyřešil v https://unix.stackexchange.com/a/446428/674, sledoval jsem https://stackoverflow.com/a/17483998/156458, ale nenastavuje limit velikosti souboru jádra?

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

$ ulimit -c
0
  1. Změní tento způsob limitní velikost souboru jádra dočasně pouze pro aktuální shell, nebo trvale pro všechny shelly všech uživatelů nebo aktuálního uživatele?

  2. Aktualizace: Původní příspěvek https://stackoverflow.com/a/17483998/156458 a https://unix.stackexchange.com/a/238413/674 a https://unix.stackexchange.com/a/169035/674 vše doporučeno pomocí sudo sh -c "ulimit -c 1024 && exec su $LOGNAME" . Ale oba ulimit -c 1024 a exec su $LOGNAME" ovlivňuje pouze shell vytvořený pomocí sudo , tak jaký je účel příkazu? exec su $LOGNAME" také nedělá nic smysluplného pro využití změněného limitu.

Poznámka: Zaměřuji se na to, proč výše uvedený způsob nefunguje, i když existují jiné způsoby, jak problém obejít:

  1. Měl bych vložit příkaz, který používá novou limitní hodnotu, do
    shellu provedeného sudo

    např.

    $ sudo sh -c "ulimit -c 1024 && sleep 100"
    ^Quit
    $ ls
    core
    
  2. Mohl bych také zkusit upravit /etc/security/limits.conf .

Přijatá odpověď:

Podle manuálové stránky ulimit „poskytuje kontrolu nad zdroji dostupnými pro shell a procesy, které spouští“. Tedy ulimit hodnota je platná pro aktuální shell.

Vyvoláváte ulimit v subshell, a když se ukončí, vrátíte se zpět na výchozí ulimit hodnotu.

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

Linux
  1. Proč „sshpass“ není správný způsob automatizace přenosů souborů v Linuxu

  2. Proč Ls a Hexdump nesouhlasí s velikostí souboru?

  3. Proč „ukončit &“ nefunguje?

  1. Jak příkaz stat vypočítá bloky souboru?

  2. Proč rozvětvení mého procesu způsobuje nekonečné čtení souboru

  3. Proč mi wget'ing image dává soubor, ne obrázek?

  1. Je možné pod Linuxem zašifrovat složku/oddíl tak, aby nebyl přístupný nikomu bez hesla?

  2. Použití chown ke změně skupinového vlastníka adresáře není povoleno....Proč?

  3. Jaký je limit velikosti /etc/hosts?