問題タブ [runit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - runitが監視するために3つのコマンドを単一のプロセスに結合する方法は?
wget コマンドを使用して 2 つのソースから一連のパラメーターを取得し、それらを変数に格納してから、取得したパラメーターに基づいてビデオ トランスコーディング プロセスを実行するスクリプトを作成しました。プロセスを監視するために Runit がインストールされました。
問題は、プロセスを停止しようとすると、停止する必要があるのは最後のトランスコーディング プロセスのみであることを runit が認識しないため、停止に失敗することです。
bash スクリプトのすべてのコマンドを組み合わせて、単一のプロセス/アプリとして機能させるにはどうすればよいですか?
コマンドは次のようなものです。
docker - 自動的に開始されない runit サービスを作成する
私は、Phusion のbaseimage上に構築された Docker コンテナに取り組んでいます。このコンテナは、多数のサービスをオンデマンドでのみ開始する必要があります。これらのサービスをサービスのままにしrunit
たいのですが、起動時に自動的に開始しないようにしたいだけです。
ドキュメントに見られるように、サービス/etc/service
の名前でフォルダーを作成することで、サービスを簡単に追加できます/etc/service/jboss
。次に、サービスの起動を実行する、chmod +x
そのサービス ディレクトリにファイルを作成する必要があります。run
これを実行して、起動時にサービスが開始されないようにするにはどうすればよいですか? 目標はまだ実行できるようにすることですsv start jboss
が、起動時に開始しないようにすることです。
mysql - RUnit テストスイートで .setUp() および .tearDown() 関数を使用する
R テストで次の問題があります。データベースを変更し、結果を計算し、これらの結果がテスト値と等しいかどうかを確認し、データベースをクリーンアップする必要があるテスト機能があります。MySQL からのトランザクションと、RMySQL からの dbBegin(con) および dbRollback(con) 関数を使用して実行しようとしています。
次のコードを実行しようとしていました。
テストスイートで
ただし、複数の関数を実行すると、
つまり、データベースに書いたものを決してロールバックしないということです。
上記のコードの何が問題なのか、および/またはR + RMySQLでテストを記述してトランザクション内でテストする方法を誰かが指摘できますか?
ありがとう、ウラジミール
debian - debian でのデーモンの監視
Debian wheezy (oldstable) Linux サーバーで rabbitmq、redis、および celery を実行しています。それらはすべてinit.d
スクリプトとしてインストールされ、起動時に開始されます。それらのいずれかがダウンした場合は、それらを監視し、電子メール アラートを受け取りたいと考えています。
Supervisord や runit などのツールを確認しました。ただし、どちらも監視対象のプロセスがデーモンではない必要があるようです。
これを行うにはどうすればよいですか?仕事を成し遂げる他のツールはありますか?お願いします。アドバイスします。
nginx - berks-api は azure の ubuntu では実行されません - get Permission denied @ rb_sysopen - /etc/chef/client.pem
シェフのインフラストラクチャの一部として、berks-api サーバーをセットアップして構成しようとしています。AzureでUbuntuサーバーを作成し、それをブートストラップして、シェフサーバーのノードとして表示します。
github - bekshelf-api installationの指示に従って、クックブック経由で beks-api をインストールしました。私は走った
私のノードでクックブックが正常に実行されたようです。
問題は、berks-api が実行されていないように見えることです。私の Linux 用語はよくないので、間違っていたら申し訳ありませんが、berks-api サービスが実行できないようです。/etc/service/berks-api に移動してこのコマンドを実行すると
このエラーが発生します
何が起こっているのかを理解するのを手伝ってくれる人がいれば、本当に感謝しています。セットアップについてこれ以上説明する必要がある場合は、お知らせください。
ruby - runit によるフォアマンの子プロセスの強制終了
プロセスの監視に runit を使用しています。サービス用の次の単純な実行スクリプトがあります。
これにより、RVM ラッパーを使用して適切な RVM 環境でラップされた foreman が起動します。すべてが正常に開始および実行されますが、発行sv down myapp
すると、フォアマンが SIGTERM の受信を報告し、フォアマン プロセスが終了したことをログで確認できますが、子 Web およびワーカー プロセスは引き続き実行されます。
この問題は、rinit ではなく kill を使用して手動で SIGTERM をフォアマンに送信した場合にも発生するため、rinit 固有ではない可能性があります。ただし、Foreman を対話的に実行してから Cc を実行して SIGINT を送信すると、正しく動作します。ただし、kill を介して SIGINT と SIGKILL を送信しても機能しません。
runit スクリプトでここにあるように、非対話的に実行されたときにフォアマンに子プロセスを終了させる方法はありますか?