現在は常にプログラムを実行する必要がありますが、サーバーが再起動したら、プログラムを手動で実行する必要があります。時には時間がない時もあります。
サーバーが起動すると、root アクセス権がなく、管理者がインストールを望まないため、通常の構成でプログラムを再起動できません。
答え1
私はこれを投稿しましたエマルジョン
cron
デーモンがある場合、事前定義されたcron時間フックの1つは、@reboot
システムの起動時に自然に実行されることです。ファイルcrontab -e
編集を実行しcrontab
、次の行を追加します。
@reboot /your/command/here
これがすべてのcronデーモンに対して定義されているわけではないため、特定のデーモンに対して機能していることを確認する必要があると聞きました。
答え2
より一般的な解決策は、cronjobを設定して、プログラムが数分ごとに実行されることを確認することです。通常のユーザーとしてdircproxyを実行しましたが、crontabエントリは次のようになります。
*/10 * * * * /path/to/dircproxy_cron.sh
答え3
これは一般的な質問に対する答えではありませんが、おそらく言及する必要があります。
Unix および Unix シリーズシステムはマルチユーザーオペレーティングシステムであるため、マルチユーザー環境でよく使用されます。そのため、これらのシステムの管理者は、不明なサービスやソフトウェアのインストールを気にすることがよくあります。これは、システムがすべてのユーザーにとって不安定または安全でなくなる可能性があるためです。だから私が考える最初のステップは
- 管理者がサービスをインストールしたくない理由を確認してください。
- 管理者の懸念を解決する方法でタスクを実行できることを検討してください。
- そうでない場合は、管理者の懸念が妥当であることを確認してください。つまり、「これにより、他のユーザーが不安定になるのですか?」、「他のユーザーのパフォーマンスに影響を与える可能性がありますか?」、「これは他のユーザーがセキュリティの脆弱性にさらされるのか?」と自問してください。
- これらの質問に対する答えがすべて「いいえ」の場合は、管理者権限なしでこれを行うと問題が発生する可能性があるかどうかを尋ねてください。
- それでも問題が解決しない場合、またはリスクを負うことに興味がある場合は、上記のいずれかの方法を試してください。
答え4
おすすめしたいhttp://supervisord.org/これはプロセスを監督して再起動し、多くの構成を持ち、通常のユーザーとして実行する必要があります。