Por que ulimit -n modifica o hard limit

0

Verificando o limite de arquivos abertos (soft) no shell atual

/home/pkaramol
$  ulimit -n
1024

Verificando o limite rígido

/home/pkaramol
$ ulimit -n -H
1048576

Definir limite (suave) para o valor limite rígido e verificar se funcionou:

/home/pkaramol
$ ulimit -n hard
/home/pkaramol
$ ulimit -n
1048576

A pergunta é por que o comando a seguir modifica os limites BOTH hard e soft , já que quando nenhum switch é fornecido, o padrão é que as operações ocorrem no limite suave

/home/pkaramol
$ ulimit -n 2048
/home/pkaramol
$ ulimit -n 
2048
/home/pkaramol
$ ulimit -n -H
2048

Em que ponto o limite rígido foi reduzido para 2048 ?

    
por pkaramol 27.10.2018 / 09:24

1 resposta

3

Se este for ulimit embutido no shell bash , a especificação de -H ou -S quando configuração um limite definirá os limites de recurso físico e flexível.

Isso está documentado no manual bash :

ulimit [-HSabcdefiklmnpqrstuvxPT [limit]]

Provides control over the resources available to the shell and to processes started by it, on systems that allow such control. The -H and -S options specify that the hard or soft limit is set for the given resource. A hard limit cannot be increased by a non-root user once it is set; a soft limit may be increased up to the value of the hard limit. If neither -H nor -S is specified, both the soft and hard limits are set.

O shell ksh93 tem uma redação semelhante em seu manual,

If neither the H nor S option is specified, the limit applies to both.

... e as conchas zsh e dash também se comportam da mesma forma no que diz respeito à configuração dos limites.

    
por 27.10.2018 / 09:51

Tags