質問: デーモンツールとulimit /service/myservice/runに含まれるdaemontoolsサービスがあります。#!/bin/sh exec setuidgid someuser somecommand これをルートシェルから直接スクリプトとして実行すると、somecommandは正しいulimit(無制限)を取得します。ただし、を使用してサービスを開始するとsvc -u /service/myservice その場合、somecommandは事実上11000をわずかに超えるulimitを取得します。(シェルからではなく)svcを介して開始された場合でも、somecommandに正しいulimitを取得させるにはどうすればよいですか?これはfreebsd9リリースにあります。
回答: 実際、これがsoftlimitの目的です。試してみてください:exec setuidgid someuser softlimit -o 102400 somecommand 参照: http://cr.yp.to/daemontools/softlimit.html ulimitの-nとは異なり、-oはsoftlimitのオープンファイル記述子を制御することに注意してください。