FreeBSDでデーモンを実行し続ける

FreeBSDでデーモンを実行し続ける

これはFreeBSDLinuxの問題よりも問題です。 Linuxでどのように実行されるか、systemdその他の質問に答えないでください。

衝突状況が発生しましたmemcached。これは再現可能ではなく、最終的に把握します。その間、それがmemcached実行されていることを確認する必要があります。それ以外の場合は再起動する必要があります。経由でインストールpkgして起動しました/usr/local/etc/rc.d/memcached。いくつかのオプションがあります。

  1. 監視スクリプトを作成し、10分ごとまたはcron。ここで最も重要なのは、私がスクリプトを書く必要があるということです。を呼び出しservice memcached status、結果を評価し、を呼び出すこともできますservice memcached start。書くとは分かりますがぎこちないようですね。むしろすでに存在するメカニズムを使いたいです。
  2. ループスクリプトを作成できますdo ... until。その後、修正してください/usr/local/etc/rc.d/memcached。しかし、パッケージにインストールされたファイルを元の状態に保ちたいと思います。パッケージをアップグレードするたびに変更を永久に適用したくありません。
  3. スクリプトを入れ/usr/local/etc/periodic.d/hourlyましたperiodic(8)

プロセスを実行し続けるために私が考えていない単純な基本的なFreeBSDメカニズムはありますか?それとも私が思っているので、8行のスクリプトを書いて呼び出しを開始する必要がありますかcron

ベストアンサー1

あなたが探しているもの家庭教師。私はFreeBSDが基本的にソフトウェアを提供するとは思わない。しかし、港にもいくつかあります。少なくとも私はそれを理解しています。

  • 監督者名前付きポートとして使用できます。py-supervisor(ポートはさまざまな形式で提供され、pkg install py37-supervisorPythonのバージョンと一致するバージョンを使用してインストールできます)。
  • デーモンツール次のように使用できます。ポート
  • 監視装置次のように使用できます。ポート
  • FSCD名前付きポートとして使用できます。fsc

監督をお勧めします。パッケージをインストールし、次のセクションを追加します/usr/local/etc/supervisord.conf

[program:memcached]
command=/usr/local/etc/rc.d/memcached

起動時にスーパーバイザを実行するには、次の行を編集または/etc/rc.conf使用します。/etc/rc.conf.local

supervisord_enable="YES"

どのスーパーバイザを選択しても無効にする必要がありますmemcached

おすすめ記事