You can’t. Apple can (using the ledger()
system call, which is private), but you can’t. I’m not entirely sure whether launchd’s options work or not – certainly if it was still using the code visible in the last open source version (from 10.9.5), it wouldn’t, because it calls setrlimit()
, but it’s been substantially rewritten since then, though I can’t see it calling ledger()
, which I’d expect it to if this was supposed to work.
Why? Because the RLIMIT_DATA
and RLIMIT_AS
options to setrlimit()
don’t actually do anything in current versions of XNU (the macOS kernel).