Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么在shell中忽略我的ulimit设置?_Linux_Shell_Ulimit - Fatal编程技术网

Linux 为什么在shell中忽略我的ulimit设置?

Linux 为什么在shell中忽略我的ulimit设置?,linux,shell,ulimit,Linux,Shell,Ulimit,我必须执行一个.jar,在执行之前我需要使用ulimit,所以我编写了一个shell脚本: #!/bin/sh ulimit -S -c unlimited /usr/java/jre1.8.0_91/bin/java -jar /home/update.jar 但是ulimit似乎被忽略了,因为我有一个错误: java.lang.InternalError:java.io.FileNotFoundException:/usr/java/jre1.8.091/lib/ext/localedat

我必须执行一个.jar,在执行之前我需要使用ulimit,所以我编写了一个shell脚本:

#!/bin/sh
ulimit -S -c unlimited
/usr/java/jre1.8.0_91/bin/java -jar /home/update.jar
但是ulimit似乎被忽略了,因为我有一个错误:

java.lang.InternalError:java.io.FileNotFoundException:/usr/java/jre1.8.091/lib/ext/localedata.jar(打开的文件太多)


如果要更改最大打开文件数,需要使用
ulimit-n

例如:

ulimit -n 8192
-c
选项正在更改核心文件大小(核心转储),而不是最大打开文件


您需要将ulimit应用于将调用java应用程序的shell。

我有一个错误:ulimit:打开文件:无法修改限制:操作未被允许您需要是root才能更改最大打开文件限制。您可以使用
sudo
调用内部包含
ulimit
的脚本(您的脚本)。否则,您将在用户的
/etc/security/limits.conf
文件下设置新的限制,因此不需要以root用户身份运行脚本。