On Tue, Apr 30, 2013 at 01:33:44AM +0200, Raphael Eiselstein wrote:
> Hi everyone,
>
> we have some generic parameters for rc-scripts like
> ${name}_program ${name}_chroot ${name}_flags ${name}_nice ${name}_user
> any many more.
>
> I'm looking for a way to configure different ulimits per service. It
> seems we have nothing about "ulimit" somewhere in /etc.
>
> I'd like to have a unique way to configure resource limits, hard and
> soft limits.
>
> Resource limits can be set within a script for the current process by
> "ulimit [-HSabcdflmnpstuvw] [limit]" but not as a parameterised wrapper
> like "nice" or "chroot" or "su", so prepeding just another "ulimit"
> wrapper seems not to be an option.
>
> Is there a unique way to have resource limits per service? I didn't find
> any. AFAICS we have two options handling this:
>
> #1 writing a /bin/sh wrapper prepeding ${_doit} containing ulimit
> commands
>
> #2 having (someone) to build up a generic binary like nice(1) getting
> limit-parameters by commandline before execve'ing the final command, e.g.
>
> limitsh -Hv 20480 -Sv 10240 -n 300 -c command args
>
> Problem: shells shoud implement "-c command args" and ulimit uses -c for
> coredumpsize in 512byte blocks. To get around this: -Hc and -Sc are
> hard/soft limits to corefilesize, a single "-c" is always the
> command-string like in sh(1)
>
> Any ideas? Did I miss something?
>
You might be able to do this by using the ${name}_program rc(8)
variable. For example (untested):
syslogd_program="/usr/bin/ulimit [ulimit_args] /usr/sbin/syslogd"
syslogd_flags="[...]"
Glen
pgpMEMradIwxN.pgp
Description: PGP signature
