問題タブ [start-stop-daemon]

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.

0 投票する
2 に答える
5420 参照

bash - start-stop-daemon はコマンド ラインでは機能しますが、/etc/init.d スクリプトでは機能しません

/etc/init.d/ar_sendmail で動作するスターター スクリプト (ar_sendmail と呼ばれる ruby​​ gem 用) を取得しようとしています。

「start-stop-daemon: not found」と言って、start-stop-daemon 行で爆発しています。しかし、値をその行に手動で挿入してコマンドラインで実行すると、機能します。

私の最初の考えはそれがシバンラインだったのですが、それは#! /bin/sh正しいはずですか?これは間違いなく適切なフォルダーであり、他の /etc/init.d スクリプトで使用するものです。

私の2番目の考えは、それがsudoに関連しているということでした.sudo以外でstart-stop-daemonをテストし、sudoモードで/etc/init.d/ar_sendmailを実行していました。しかし、sudoでもstart-stop-daemonをうまく実行できます。

ちょっと困惑しています、何かアイデアはありますか?

0 投票する
4 に答える
5296 参照

linux - init.d start-stop-daemon スクリプトが起動時にアプリケーションを開始しなかったのに、サービスを手動で開始できるのはなぜですか?

ようやく最初の init.d スクリプトを適切に作成できたと思ったのですが、再起動しようとすると起動しませんでした。スクリプトstart-fooは次のようになります。

foo.pyポートを開くのでsudoが必要です。他のサービス ( など) にも同じものが必要なはずなので、これは問題ではないと思います。次のことを行うメイクファイルがあります。

実行するsudo service start-foo startと動作します。しかし、再起動しても自動起動しません。私は何が欠けていますか?

0 投票する
1 に答える
2201 参照

django - Jenkins を使用して複数のセロリ デーモンを自動的に起動する

5つの異なるdjangoサイトが実行されているUbuntuサーバーをセットアップしています。これらはテストに使用されるため、各開発者には独自のサイトとデータベース、および機能の準備が整ったときにのみ更新される統合コード用のサイトが 1 つあります。Jenkins は、変更がリポジトリにプッシュされるたびに Github から各サイトを更新するために使用されます。

最近、Django-Celery を依存関係に追加して、アップロードされたファイルを非同期で処理できるようにしました。各サイトには、その特定のサイトの正しい設定 (データベース、アップロード ディレクトリなど) を使用する独自のセロリ キューが必要になりました。

コードが変更されるたびに各セロリサーバーを再起動して、最新の変更を自動的に取得できるようにしたいと考えています。Jenkins がサイトを更新するたびに実行する git リポジトリ内に更新スクリプトがあります。このスクリプト内でセロリ デーモンを起動しようとすると、セロリは起動しますが、スクリプトの最後で再びシャットダウンします。

これが私の更新スクリプトのコピーです:

このスクリプトの実行中のセロリ ログのコピーを次に示します。

Jenkinsによって開始されたセロリデーモンをシャットダウンしないようにする方法についてのアドバイスはありますか? どうもありがとう!

0 投票する
1 に答える
2925 参照

django - セロリデーモンの問題

セロリデーモンが非常に不安定であるという問題があります。ファブリック デプロイ スクリプトを使用して、変更をプッシュするたびにデーモンを再起動しますが、何らかの理由でこれが大きな問題を引き起こしています。

デプロイ スクリプトが実行されるたびに、セロリ プロセスは疑似デッド状態のままになります。(残念ながら) これらは引き続き rabbitmq からのタスクを消費しますが、実際には何もしません。紛らわしいことに、簡単な検査では、この状態ではすべてが「正常」であるように見えます。celeryctl ステータスは、1 つのノードがオンラインで、ps aux | grep celery は、2 つの実行中のプロセスを示しています。

ただし、/etc/init.d/celeryd stop を手動で実行しようとすると、次のエラーが発生します。

この状態で celeryd start を実行しようとすると、正しく動作しているように見えますが、実際には何もしません。この問題を解決する唯一の方法は、実行中のセロリ プロセスを手動で強制終了してから、再度開始することです。

ここで何が起こっているのですか?また、完全な確認はできていませんが、問題は数日後に発生すると考えられます (これは現在テスト サーバーであり、アクティビティはありません)。

0 投票する
12 に答える
74678 参照

linux - LinuxでサービスとしてJBoss7を起動します

以前のバージョンのJBossにはjboss_init_redhat.sh、サービスとして追加するために/etc/init.dにコピーできるスクリプト(など)が含まれていたため、起動時に起動していました。JBoss 7で同様のスクリプトが見つからないようです。誰かがすでにこのようなことをしましたか?

PS私はUbuntu10.04でこれを達成しようとしています

0 投票する
1 に答える
4306 参照

linux - Linux デーモン start-stop-daemon の停止

Linuxで作成しているデーモンがあります。init.d ファイルを作成し、使用してデーモン プロセスを正常に開始しました。

ただし、(/etc/init.d/mydaemon stop を使用して) 停止しようとすると、正常に停止しますが、start-stop-デーモン

詳細モードは、プロセスを停止したことを示しており、システム モニターを見ると、プロセスを停止しています。

これが init.d ファイルの停止機能です。

これを仮想マシンで実行していますが、何か影響はありますか?

0 投票する
11 に答える
102667 参照

logging - start-stop-daemon によって開始されたプロセスの stdout をログに記録するにはどうすればよいですか?

私は init スクリプトを使用して、次のように開始される単純なプロセスを実行しています。

$DAEMON と呼ばれるプロセスは、通常、ログ情報を標準出力に出力します。私が知る限り、このデータはどこにも保存されていません。

$DAEMON の stdout をどこかのファイルに書き込むか追加したいと思います。

私が知っている唯一の解決策は、$DAEMON を直接呼び出す代わりに、start-stop-daemon にシェルスクリプトを呼び出すように指示することです。次にスクリプトは $DAEMON を呼び出し、ログファイルに書き込みます。しかし、それには追加のスクリプトが必要であり、デーモン自体を変更するのと同様に、そのような一般的なタスクを解決するには間違った方法に思えます。

0 投票する
1 に答える
710 参照

linux - Debianでのデーモン起動(/sbin/serviceの存在)

プログラムを通じて Debian でサービスを開始する最良の方法は何ですか? 以前は「/sbin/service start」を使用していましたが、最近、「/sbin/service」が存在しないシステムに遭遇したため、デーモンの開始に失敗しました。

0 投票する
2 に答える
6299 参照

python - start-stop-daemonとpython

start-stop-daemonを使用してPythonスクリプトを開始しようとしています。

しかし、私のプロセスにはPythonスクリプトがありません。私は何を間違えますか?

loop.py:

0 投票する
2 に答える
6664 参照

java - start-stop-daemon と Java プログラム

start-stop-daemonを使用して、initスクリプトでJavaプログラムを適切に起動するのにかなりの時間を費やしています。私は init スクリプトを書きましたが、実行されているように見えますが、実行中のプログラムを表すプロセスはその後ありません。

これが私のinitスクリプトのスニペットです

/etc/init.d 経由で起動しようとすると、次のようになります。

/etc/init.d# /etc/init.d/myscript start

myprog を開始しています/usr/bin/java を開始しています...

/usr/bin/java を開始するために切り離しています...完了。

.

その後、myprog.jar を実行している Java インタープリター プロセスは実行されていません。

--exec と --start のさまざまな組み合わせを試しましたが、ほぼ同じ結果が得られました。何が起こっているのかをもう少し可視化できれば、これを理解できると確信していますが、それを行う方法さえわかりません。

助言がありますか?

(組み込みARMプラットフォームでAngstromを実行しているため、Java Service Wrapperは実際には実行可能なオプションではありません。つまり、ARMで利用できるとは思いません)

行き詰まっているので、アドバイスをいただければ幸いです。

ありがとう。