--- runscript.sh.orig 2014-09-08 21:41:13.351207527 +0100 +++ runscript.sh 2014-09-08 22:29:14.428521869 +0100 @@ -205,16 +214,28 @@ # Load any system overrides sourcex -e "/etc/rc.conf" -# Apply any ulimit defined -[ -n "${rc_ulimit:-$RC_ULIMIT}" ] && ulimit ${rc_ulimit:-$RC_ULIMIT} - -# Apply cgroups settings if defined -if [ "$(command -v cgroup_add_service)" = "cgroup_add_service" ]; then - cgroup_add_service /sys/fs/cgroup/openrc - cgroup_add_service /sys/fs/cgroup/systemd/system -fi -[ "$(command -v cgroup_set_limits)" = "cgroup_set_limits" ] && \ - cgroup_set_limits +for _cmd; do + if [ "$_cmd" != status -a "$_cmd" != describe ]; then + # Apply any ulimit defined + [ -n "${rc_ulimit:-$RC_ULIMIT}" ] && \ + ulimit ${rc_ulimit:-$RC_ULIMIT} + # Apply cgroups settings if defined + if [ "$(command -v cgroup_add_service)" = \ + "cgroup_add_service" ] + then + if [ -d /sys/fs/cgroup -a ! -w /sys/fs/cgroup ]; then + eerror "No permission to apply cgroup settings" + break + fi + cgroup_add_service /sys/fs/cgroup/openrc + cgroup_add_service /sys/fs/cgroup/systemd/system + fi + [ "$(command -v cgroup_set_limits)" = \ + "cgroup_set_limits" ] && \ + cgroup_set_limits + break + fi +done # Load our script sourcex "$RC_SERVICE"