$ ulimit -c 0 $ ulimit -c 99 $ ulimit -c 99 $ ulimit -c 9999999999999999999999999999999999999999999999 bash: ulimit: 9999999999999999999999999999999999999999999999: limit out of range $ ulimit -c 9999999999999999999999999999999 bash: ulimit: 9999999999999999999999999999999: limit out of range $ ulimit -c 9999999999999999999 bash: ulimit: 9999999999999999999: limit out of range
Hmmm, maybe make the above error message say what the range is, so the user doesn't have to probe it. Or say "do ... to see the valid range". $ ulimit -c 9999999999999 bash: ulimit: core file size: cannot modify limit: Operation not permitted $ ulimit -c 9999999999 bash: ulimit: core file size: cannot modify limit: Operation not permitted $ ulimit -c 999999 bash: ulimit: core file size: cannot modify limit: Operation not permitted By this time the user has probably given up... thinking that it isn't the value that is the problem, but the basic Operation. (But if he probes further, indeed some values work.) $ ulimit -c 99 $ ulimit -c 999 bash: ulimit: core file size: cannot modify limit: Operation not permitted Odd, a little later I try $ ulimit -c 99 bash: ulimit: core file size: cannot modify limit: Operation not permitted >>>>> "R" == Reuti <re...@staff.uni-marburg.de> writes: R> Do you get this as root too? I'm just trying to say the messages are confusing for the normal user. I don't want make my report too big, so am not trying it for root. R> If the hard limit is unlimited, then you can raise the soft limit R> again also as normal user to be unlimited. So the statement "Operation R> not permitted" is correct, although it means: "can't raise hard limit R> again" as without -S or -H it sets both limits. The soft limit OTOH R> can be changed between a value and unlimited as often as you like, as R> the long as the hard limit stays to be set to unlimited. Hmmm...Wait... I was using "help ulimit", now I see on the bash man page The -H and -S options specify that the hard or soft limit is set for the given resource. A hard limit cannot be increased by a non-root user once it is set; a soft limit may be increased up to the value of the hard limit. So maybe that explains why the user can only set it once (99 above) then cannot change it... OK I recommend the "help ulimit" now say [-S|-H] -a all current limits are reported [-S|-H] -b the socket buffer size [-S|-H] -c the maximum size of core files created [-S|-H] -d the maximum size of a process's data segment [-S|-H] -e the maximum scheduling priority (`nice') [-S|-H] -f the maximum size of files written by the shell and its children and perhaps the same on the bash man page.