upstart
systemd
に相当する機能はありません の PermissionsStartOnly
設定。ジョブ内のすべてのプロセスは、setuid
を介して設定されたユーザーとして実行されます クックブックが言うように、スタンザ。
だから、daemontools の方法で物事を行います。
setuidgid
を使用 、 setuidgid
、 s6-setuidgid
、 chpst
、 runuid
、または setuidgid
exec
で スタンザ:
exec \ setuidgid somebody \ unicorn -D -c /opt/posty_api/unicorn.rb --env production >> /var/log/posty/upstart.log 2>&1
ところで、これはひどいロギング メカニズムです。 daemontools の方法では、multilog
を使用して、適切で、自動的にサイクルされ、オンデマンドでローテーション可能で、サイズが制限されたログが作成されます。 、 multilog
、 s6-log
、 svlogd
、 tinylog
、または cyclog
. upstart
ただし、その expect
を考えると、それらと統合するのは難しいです
expect fork exec \ setuidgid somebody \ unicorn -D -c /opt/posty_api/unicorn.rb --env production 2>&1 | \ /usr/local/bin/chdir /var/log/ \ setuidgid log \ cyclog posty/unicorn/
(chdir
これは nosh
からのチェーンロードのものです パッケージであり、厳密には必要ありません。しかし、それは物事をいくらか整頓します.)