問題タブ [python-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 投票する
0 に答える
1173 参照

python - Python - マルチプロセッシングまたはマルチスレッドを使用したデーモン プロセス

無限ループを実行するPythonスクリプトがあります (特定のファイル タイプのフォルダーを監視します)。

ファイルの種類が見つかったら、そのファイルを処理する新しいプロセスを生成する必要があります。私はすでにこのコードの実装を開始しました (ここに投稿しましたが、同じトピックについて別の質問をしています - 必ずしも同じコードではないため、新しい質問を投稿しています)。

ただし、この無限ループ スクリプトはバックグラウンドで実行する必要があります。mutliprocessing.pool以前の質問では、デーモン プロセスで実行される無限ループを使用してこれを実装し、ファイル処理 (特定の種類のファイルが見つかると) によってモジュールを使用して新しいプロセスが生成されました。しかし、デーモン プロセスが新しいサブ プロセスを開始できないという難しい方法を発見しました。

この機能を実装する最良の方法は何ですか???

無限ループをバックグラウンドで実行し、新しいプロセスを開始できるようにするためのより良い方法はありますmultiprocessing.poolか?

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

python - python-daemon でのシグナル処理

インストールpython-daemonしましたが、今は信号処理を正しくしようとしています。私のコード:

コードを開始すると、すべてが期待どおりに機能します。テキストpythonDaemon is running/var/log/syslogが5 秒ごとに書き込まれます。しかし、デーモンでデーモンを終了したい場合kill -TERM *PID*、デーモンは終了しますが、テキストpythonDaemon STOPが syslog にありません。

私は何を間違っていますか?

注意: 私はfrom daemon import runnerここで作業していません。エラーが発生するため ( lockfile.

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

python - Python デーモンの単一インスタンス (python-daemon を使用)

一度に 1 つのインスタンスしか実行されず、init.d スクリプトで起動できる、永遠に実行されるプログラムを作成したいと考えています。python-daemonはPEP 3143のリファレンス実装であるため、これを行うのに適しているようです。

とにかく、プログラムが 2 回実行されるのを防げないので、PID ロック ファイルの目的がわかりません。

init.d スクリプト (「/etc/init.d/skeleton」に基づく) でロック ファイルの存在を手動で確認する必要がありますか? また、どうすればそれを殺すことができますか? PID ファイルで PID 番号を取得し、SIGTERM ? を送信します。

どうもありがとう。

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

networking - twistd でカスタム リアクター (txnet) をデーモン化する方法

アプリケーションでtxnetを使用して、一部のサーバーが稼働しているかどうかを監視しています。Webインターフェイスがあるため、リアクターはpingリクエスト用のlistenICMP(txnetで提供されるリアクターです)とともに、WebサーバーのlistenTCPも備えています。私の質問は、twistd でデーモン化する方法についてです。Twisted.internet.application は API に従って提供します:

TCPServer、TCPClient、UNIXServer、UNIXClient、SSLServer、SSLClient、UDPServer、UDPClient、UNIXDatagramServer、UNIXDatagramClient、MulticastServer

私は自分のサービスを実装する必要があると思いますが、これを行うための良い例を見つけることができます.オンラインでの最良の説明はおそらくkrondoチュートリアルのdaemonologyです が、リアクターの変更に関する参照はありません. 要約: このようなものをデーモン化するための最良の選択は何ですか?:

おそらく listenUDP がここで機能することはわかっていますが、これは単純化されたバージョンであり、実際には listenICMP が必要です。

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

python - pid が作成されず、プロセスが開始されない理由は何ですか?

このスクリプトで python-daemon を使用して、バックグラウンドでコードの実行を開始および停止しようとしています。(最終的な目標は、これを AWS インスタンスに含めることです)。

何らかの理由で私を逃れる pid ファイルが生成されておらず、プロセスが実行されていないと思います。

Python スクリプト:

シェル(OSX)で私は:

python daemon.py start >>>> これは実行されますが、pid ファイルは作成されません (sudo も試しました) python daemon.py stop >>>> はエラーを返します:

トレースバック (最新の呼び出しが最後): ファイル "SST_daemon.py"、68 行目、daemon_runner.do_action() ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/daemon /runner.py"、189 行目、do_action func(self) ファイル内"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/daemon/runner.py"、152 行目、 in _stop u"PID file %(pidfile_path)r not locked" % vars()) daemon.runner.DaemonRunnerStopFailureError: PID ファイル '/Users/josefernandes/Documents/workspace/RandomThings/testdaemon.pid' not locked

私はこれを何時間も修正しようとしましたが、これまでのところ結果はありません。

これが機能しない理由は何ですか?

どんな助けでも大歓迎です!!!!!

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

python-2.7 - シグナルで python 2.7 デーモンを停止する

スクリプトで python 2.7.3 とデーモン ランナーを使用しています。run(loop) メソッドでは、しばらくスリープしたいのですが、そのようなコードではありません:

multiprocessing.Event などの同期プリミティブを待機したい。私のコードがあります:

それは私のログファイルの記録です:

ログに「Spyder サービスが停止しました」というメッセージが表示されず、プログラムが set() 呼び出しでハングします。デバッグ中に、Event.set() 呼び出し時にハングすることがわかります。待機しているすべてのエンティティがウェイクアップしている間、set メソッドがセマフォでハングします。Event がグローバル オブジェクトまたは threading.Event になる理由はありません。私はこの1つの答えを見ますが、それは私にとっては良くありません。multiprocessing.Event と同じ動作をするタイムアウト待機による待機の代替手段はありますか?

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

linux - Upstartは私の仕事を始めません

スクリプトの何が問題なのかを理解するのに苦労しています。私は Linux の世界に足を踏み入れたばかりなので、非常に些細なことを見落としている可能性があります。PCの起動時にデーモンを実行したいpythonスクリプトがあります。また、クラッシュした場合にリスポーンしたいと考えています。グーグルで数時間見た後、私はあきらめました:)

これが私がこれまでに試したことです:

initctl start "svc_name" を実行すると、initctl: Job failed to startエラーが発生します。

ありがとう