Ho il seguente script:ssh esecuzione di comandi a distanza e ulimit
cat > /tmp/script.sh <<EndOfScript
#!/bin/sh
ulimit -n 8192
run_app
EndOfScript
che gira senza problemi a livello locale, è sempre ok. Ma se provo a farlo funzionare in modalità remota tramite ssh:
scp /tmp/script.sh [email protected]:/tmp/script.sh
ssh [email protected] "chmod 755 /tmp/script.sh; /tmp/script.sh"
ho ottenuto l'errore:
ulimit: open files: cannot modify limit: Operation not permitted
Ho anche provato il seguente comando:
ssh [email protected] "ulimit -n 8192"
stesso errore.
Sembra che l'esecuzione del comando remoto ssh stia applicando un limite rigido di 1024 sul limite nofile, ma non riesco a trovare la modalità di modifica di questo valore predefinito. Ho provato a modificare /etc/security/limits.conf e riavviare sshd, ancora lo stesso errore.
finalmente ho trovato la risposta corretta: aggiungere quanto segue a/etc/initscript: ulimit -c unlimited ulimit -HSn 65535 # eseguire il programma. eval exec "$ 4" –