Os ulimits são herdados pelo shell, pelo usuário ou por uma combinação?

6

Quando um processo gera um subshell, como é o ulimit herdado?

É por usuário, por shell ou uma combinação?

Especificamente, isso foi encontrado no contexto de tarefas do HP Server Automation falhando em alguns dispositivos AIX gerenciados devido a uma interação entre o ulimits flexível e o rígido no local. Em suma, o Agente (que é executado como root e gera uma subshell ao processar comandos do SA) não pôde processar alguns trabalhos porque sua subshell estava atingindo um ulimit .

Aumentar o ulimit resolveu o problema, mas a questão de como o ulimit é herdado e se os limites flexíveis ou difíceis (ou ambos) precisam ser aumentados é deixada em aberto.

Qual é a resposta apropriada para essa pergunta? Pode ser específico do AIX ou pode estar entre variantes do Unix / Linux - o que for melhor.

    
por warren 17.07.2013 / 17:53

1 resposta

5

Os detalhes da implementação variam entre as plataformas * nix, mas o ulimit é definido inicialmente por usuário, com um padrão para todos os usuários que abrange aqueles que não têm uma configuração específica.

No caso específico do AIX, essas configurações estão em / etc / security / limits . O Linux usa o nome ligeiramente diferente /etc/security/limits.conf para fazer o mesmo trabalho. Para ser seguro, faça man ulimit para encontrar a resposta para seu sistema operacional específico.

    
por 17.07.2013 / 18:09