非rootユーザーとして、システムの起動時にバックグラウンドジョブを実行したいと考えています。 root権限を必要としないサービスのようなものです。それを行う方法はありますか?
1つの方法は、Sudo -u user command
をrc.local
に入れることですが、rc.local
を編集するにはroot権限が必要です。
もう1つの方法は、cron
から毎分起動して実行中のインスタンスを確認することですが、最初にシステムを不必要にウェイクアップし、次に、実行中のインスタンスの確認で競合状態が発生する可能性があります。
3番目の方法は~/.bash_profile
で実行することですが、ユーザーログインなしで起動したいと思います。
バージョンに@reboot
機能がある場合は、cronを使用できます。から man 5 crontab :
最初の5つのフィールドの代わりに、8つの特別な文字列の1つが表示される場合があります。
string meaning ------ ------- @reboot Run once, at startup. …
Root権限なしでcrontab -e
コマンドを使用して、ユーザーローカルのcrontabを編集できます。次に、次の行を追加します。
@reboot /usr/local/bin/some-command
これで、コマンドはブート時に1回実行されます。