我有以下腳本:SSH遠程命令執行和的ulimit
cat > /tmp/script.sh <<EndOfScript
#!/bin/sh
ulimit -n 8192
run_app
EndOfScript
它運行順利在本地,它總是好的。但是,如果我試圖通過SSH遠程運行:
scp /tmp/script.sh [email protected]:/tmp/script.sh
ssh [email protected] "chmod 755 /tmp/script.sh; /tmp/script.sh"
我得到了錯誤:
ulimit: open files: cannot modify limit: Operation not permitted
我也嘗試下面的命令:
ssh [email protected] "ulimit -n 8192"
同樣的錯誤。
它看起來像是ssh遠程命令執行強制限制nofile 1024硬限制,但我找不出如何修改此默認值。我試圖修改/etc/security/limits.conf並重新啓動sshd,仍然是同樣的錯誤。
最後我找到了正確的答案:將以下內容添加到/ etc/initscript中: ulimit -c unlimited ulimit -HSn 65535 #執行程序。 eval exec「$ 4」 – 2009-12-22 04:02:42