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

Attachment: pgpMEMradIwxN.pgp
Description: PGP signature

Reply via email to