在自己努力解决这个问题(成功有限)之后,我确定似乎有两种方法可以做到这一点......
您可以为您的可执行文件设置一个启动项。plist 的重要部分是一个部分,例如..
<key>SoftResourceLimits</key>
<dict>
<key>Stack</key>
<integer>10000000000</integer>
</dict>
有各种可用的键……可以在Apple 的 MAN 页面上找到。
我认为另一种方法是在/etc/launchd.conf(系统)或/etc/launchd-usr.conf(peruser )中设置一个值。例如,您的 launchd.conf 可能包含...
umask 002
limit stack 67104768 67104768
limit maxproc 3400 4500
limit maxfiles 256 unlimited
setenv PATH /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
如果你问我,launchd 的所有功能的文档都很简短。就好像 Apple 可能不在乎/不希望人们在他们的墙外真正了解它是如何工作的。 掌握 launchd有如此多的力量,而且它错综复杂......但是关于如何正确实施它们的具体/官方资源很少。