問題タブ [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.
python - init.dのサービスとしてのPythonスクリプト、デーモン化する価値はありますか?
システム内のサービスとして使用したい Python スクリプトはほとんどありません。私の最初のアプローチは python-daemon を使用することでしたが、うまくいきました。プロセスは分離され、バックグラウンドで実行されていました。次に、init.d が必要なものにラッパーを提供することを知りました。それは、daemon-start-stop です。
今、私は何をすべきかわかりません。python-daemon を赤くするか、その逆にするか、または両方を維持する価値がありますか (そのような場合、python-daemon は detach=False で起動する必要があります)。
誰か init.d スクリプトとデーモンの経験がある場合は、ぜひご連絡ください。
私が答えを探しているいくつかの質問: - これら 2 つのソリューションの長所と短所 - どちらがよりシンプルでありながらより堅牢なソリューションですか - 過去にどのような問題を見つけましたか?
明確な答えがない可能性があるため、この質問は議論への導入に少し似ているかもしれません。しかし、自分に罠を仕掛ける前に、他の人の間違いを学びたいと思っています。
python - Python をデーモンとして実行するときのプロセス名の変更
Pythonスクリプトをデーモンとして実行するためのupstartスクリプトの例を提供するこの優れたWebサイトを見つけました。私の質問は、ps -e と入力したときに報告される名前を変更できますか?
start-stop-daemon にはそれを行うオプションがあるのではないかと考えていましたが、見つかりませんでした。
javafx - start-stop-daemon と javaFX プログラム
これは私を夢中にさせています.start-stop-daemonでjavafx jarファイルを開始するのを手伝ってもらえますか?ここで、次のコマンドを発行して開始する必要があります
start_stop_daemon スクリプトは次のとおりです。
sh - start-stop-daemon がすでに実行中のデーモンを検出しない
/etc/init.d/skeleton をコピーして修正し、バックグラウンドでプログラムを起動しようとしました。私は次のことを思いつきました:
これについて問題があり、いくつか質問があります。私の問題は、開始関数がデーモンを開始し、デーモンが既に実行されているかどうかに関係なく 0 を返すことです。私の質問は、最初の --test 開始時に -b と --make-pidfile が必要かどうかです。そして、do_stop の最初のコマンドが TERM シグナルをデーモンに送信し、2 番目のコマンドがデーモンを強制的に強制終了するという仮定は正しいですか? この場合、デーモンが終了するのを待つ必要があります。
bash - start-stop-daemon を使用してスクリプトを終了する適切な方法は何ですか?
start-stop-daemon を使用して、スクリプトの INIT スクリプトを作成しています。--make-pidfile
スクリプトが独自の pid を作成しない原因を使用しています。start を使用してスクリプトを開始でき、pid ファイルは適切な PID で生成されます。しかし、停止機能は機能しません。リターン コード 0 を取得し--oknodo
、それを使用せずに 1 を取得しています。私が行った場合
と
いつも同じ PID が表示されます。を使用してスクリプトを終了できます
しかし、私のinitスクリプトの停止機能ではありません。
プロセスを停止する適切な方法は何ですか?
start-stop-daemon のマニュアルによると、
--stop 指定したプロセスの存在を確認します。そのようなプロセスが存在する場合、start-stop-daemon は --signal で指定されたシグナルを送信し、エラー ステータス 0 で終了します。そのようなプロセスが存在しない場合、start-stop-daemon はエラー ステータス 1 (- の場合は 0) で終了します。 -oknodo が指定されています)。--retry が指定されている場合、start-stop-daemon はプロセスが終了したことを確認します。
--signal
それ自体のドキュメントは見つかりませんでした。--signal
SIGTERM を送信するかどうかを指定する方法と同様です。
bash - ls ループを別の変数に変換する方法は?
私の質問をやり直させてください:
OK、初心者ですが、ここに私がやろうとしていることがあります:
さまざまな構成ファイルを取得してさまざまな変数に渡す init スクリプトを作成しようとしています。END の結果は、異なる構成ファイルをプルすることで、アプリケーション (redis) の複数のインスタンスを開始できる init スクリプトを持つことです。
ディレクトリは
その中のファイルは次のとおりです。
さて、これが私が関数のために持っているものです:
conf1 は /etc/conf.d/foo.conf として出力されます conf2 は " "、次に "/etc/conf.d/foo.conf"、そして "/etc/conf.d/foo.conf /etc/ conf.d/bar.conf"
conf2 を bar.conf と等しくする必要がありますが、配置方法によって conf ファイルの名前が変わる可能性があるため、命名規則も抽象化する必要があります。
したがって、最終結果は、これを関数に入れ、init スクリプトで呼び出してファイルを渡すことです (例: /etc/init.d/program start foo / start bar )
ありがとうございました。
php - raspban でデーモンとして php スクリプトを実行する
Websocket サーバーとして無限の while (true) ループを使用して、動作する PHP スクリプトを作成しました。
次のことを手伝っていただけませんか:
- ブート時に PHP スクリプトを開始しますか?
- ssh 経由で PHP スクリプトを停止しますか?
- メモリ不足の PHP 無限ループについて読みました ( ref ) では、websocket サーバーを維持するためのより良い方法はありますか?
参考までに: 私は Apache を持っています。PHP; MySQL; systemd がインストールされていますが、それ以外のインストールは避けたいと考えています!
私が試したこと:
init.d/service ( Bram.us で説明されているように) を書き込んで開始しますが、次のようになります。
sudo /etc/init.d/myservice start
sudo: unable to execute /etc/init.d/myservice: No such file or directory
upstart
sudo apt-get install upstart
をインストールし、/etc/init/ の下に次のように構成ファイルを書き込みます。start on filesystem and net-device-up IFACE=eth0 respawn exec /usr/bin/php -f /path/to/your/script.php
しかし、その後完全に起動できなくなったので、systemdに戻りました
ありがとう!
java - start-stop-daemon が Java プロセスを開始しない
「開始」オプションを使用してこのスクリプトを実行しようとしています。
現在のディレクトリにpidファイルを作成しますが、次を使用してプロセスを見つけることができません:
プロセスが存在しません。stop コマンドは、欠落しているプロセスに関しても文句を言います。
私はJenkins の起動とアクセスの指示に従おうとしています。