我正在尝试启动超过1000个进程,但是它的结束时间是999。
例如
#!/usr/bin/env zsh for i in {1..$1} ; do sleep 300 & done
然后运行它,
$ ./launchsleep.sh 3000 ./launchsleep.sh:4: job table full
ulimit -u设置可能在这里工作。
事实certificate,zsh(和大多数其他的shell)有一个最大大小的作业表。 这张表跟踪后台进程,当它填满时,你不能启动更多的后台进程。
我的解决方法是改变我的脚本启动守护进程,而不是一堆后台进程。
例如
launch.sh: #!/usr/bin/env zsh for i in {1..$1} ; do ./dosleep.sh done dosleep.sh: #!/usr/bin/env zsh nohup sleep 300 &
另外,正如@Iain所提到的,Solaris对用户可以启动的进程数量有限制(ulimit -u)。 在Solaris 11中,要增加这个限制编辑/ etc / project并增加project.max-processes。