Apenas o root pode aumentar o limite rígido atual. Presumivelmente, o limite padrão para esse usuário, como definido em /etc/security/limits.conf
, é 16384, mas há algo em um arquivo de inicialização que define o limite como 4096.
Se puder, altere este arquivo de inicialização para definir apenas o limite flexível. O limite flexível pode ser alterado em qualquer direção a qualquer momento por qualquer usuário, a única restrição é que não pode ser maior que o limite rígido. Ou seja, substitua ulimit -a 4096
por ulimit -Sa 4096
.
O que você está fazendo é desonesto de qualquer maneira. Você provavelmente não deve estar executando um shell como o usuário que executa o serviço, você deve fazer manutenção de sua conta, usando sudo
para executar comandos com privilégios diferentes, conforme necessário. Então, para iniciar o serviço, você não deveria estar usando ./script.sh stop;./catalina.sh start
, mas
sudo -u user ./script.sh stop; sudo -u user ./catalina.sh start
Isso não executará arquivos de inicialização que possam definir o limite.
Em princípio, é possível que a configuração do seu sistema defina limites diferentes, dependendo de como você efetua login, definindo regras diferentes via PAM ( /etc/pam.conf
ou /etc/pam.d/*
). No entanto, isso seria uma configuração estranha e incomum.