問題タブ [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.
python - さまざまなプログラムから辞書にアクセスする
大きなファイルから辞書を作成しています。
私は何度もこの辞書にアクセスする必要がありますが、まったく異なるプログラムからです。このファイルを読んで辞書を作るのには時間がかかります。1つのプログラムが終了してもメモリに残る辞書を作成することは可能ですか???? 一度作成しますが、別のプログラムから何度も使用できるようにします。
python - setuptools を使用して Python デーモンをパッケージ化する方法
Python アプリを setuptools でパッケージ化して、インストール時に (たとえば、setup.py または pip を介して) デーモン スクリプトを適切な場所に配置して起動し、起動時に自動的に起動するようにマークするにはどうすればよいでしょうか?
私の場合、私のコードは Linux でのみ動作するため、デーモンを Linux 環境 (特に Ubuntu) にインストールすることだけを考えています。
Python デーモンを簡単に作成する方法を説明している投稿をいくつか 見つけましたが、他の通常のデーモンまたはサービスとして扱われるように、実稼働環境にそれらをインストールする方法を説明しているものを見つけることができないようです。
Ubuntu や他のいくつかのディストリビューションではデーモンが /etc/init.d に保持されていることを知っています。また、setuptools を使用してファイル システムの特定の場所にファイルをコピーする方法も知っているので、スクリプトを /etc/ にコピーまたはシンボリック リンクしても安全でしょうか。 init.d を実行し、chkconfig を実行してランタイムを設定しますか、またはデーモンをインストールするより安全なディストリビューション中立の方法はありますか?
python - Python デーモンの作成 - 「モジュール」オブジェクトに属性「DaemonContext」がありません
アプリをデーモン化しようとしていますが、次のエラーが発生します。
モジュールがインストールされていないために、他の人がこのエラーを受け取っているようです。Python の初心者として、daemon と python-daemon パッケージがあり、python パッケージをインストールする方法が 2 つあること (sudo apt-get install と sudo pip install) は少し混乱します。ただし、パッケージがインストールされているようです。Ubuntu 10.04 に Python 2.6 をインストールしました。何か案は?
モジュールがインストールされているようです:
モジュールがインストールされているより多くの証拠:
python - Python マルチスレッド: デーモン スレッドを実行し続ける方法
デーモン スレッドが実行されているかどうかをテストするという難しい問題に行き詰まっています。作成したデーモン スレッドは、サービスを実行し続けるためにバックグラウンドで実行する必要があるため、次のようにして作成し、存続させます。
作成:
メソッドの内部initAirserv()
:
最後の数行の目的は、愚かな方法を使用してスレッドをビジー状態に保つことです。ただし、このデーモンスレッドを開始して別のことをした後、戻ってきてスレッドを次のように確認しました。
if 本体は決して実行されません。誰かが私になぜこれが起こるのか説明できますか? 常にビジーである必要がある何かを実行するスレッドを実行する最良の方法は何ですか? どうもありがとう。
python - デーモンの出力が /tmp ディレクトリに移動できるのはなぜですか?
私が使用する晩餐クラスはhttp://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/です。私のコードは以下のとおりです。
DebugDaemon.py を実行すると、/tmp/DebugDaemon.pid が作成されます。
しかし、output.txt ファイルが作成できません。
直接呼び出すと(つまり、デーモンコードを使用しない)、正常に動作します。
python - Pythonデーモンからstdoutへの良心的な印刷
python-daemonを使用して、次のように出力する簡単なスクリプトを作成しましたsys.stdout
。
スクリプトは、1つの大きな欠陥を除いて、期待どおりに機能します。シェルに入力しているときに入力が中断されます。
出力を邪魔にならない方法で表示する方法はありますか?私は次のようなものを望んでいます:
これがばかげた質問である場合は、すみません。シェルが一般的にどのように機能するかについてはあまり詳しくありません。
編集:明確化
このスクリプトをデーモン化して実行したい理由は、天気の更新を邪魔にならない方法でコンソールに出力するなど、シェル内からシェルユーザーに更新を提供したいからです。これを達成するためのより良い方法があれば、私に知らせてください。ただし、目的は、ブロックせずに、端末内から(たとえば、Growl通知を介してではなく)情報を表示することです。
python - python-daemon は ctypes リンクされた C userlib への ioctl 呼び出しをブロックします
Linux プラットフォームの ctypes Python モジュールを介して C 共有オブジェクト ライブラリにアクセスする Python アプリケーションがボトル Web サーバーにあります。C so-lib は、デバイス ノード ( ) を開き、/dev/myhwdev
デバイスのファイル記述子に対して IOCTL 関数をアサートします。これは複雑なスタックですが、次のように Python の python-daemon コンテキストでボトル アプリをラップするまではうまく機能します。
行をコメントアウトwith daemonContext
(およびインデントを修正) するだけで、このコードは正しく機能します (つまり、正しい JSON 結果を提供します)。ただし、daemonContext 内で、userlib の print ステートメントは、デバイス ノードのファイル記述子が正しく開かれていることを示していますが、ioctl 関数はエラー コード -1 でサイレントに失敗します。
デバイスのファイル記述子を閉じて、(userlib コードまたは上記のルート ハンドラのいずれかで) 再度開くと、コマンドが正しく動作するようになります。しかし、デーモンとボトル サーバーがロックし、それ以降のすべての Web リクエストを無視します。
提案?現在、すべてが正常に機能するため、デーモン モジュールをあきらめる準備ができています。
ありがとう!
fabric - Fabric を使用した python-daemon
fabfile内にpython-daemonを実装する例を誰でも提供できますか? これを機能させるのに苦労していますが、私が読んだことから、バックグラウンドでホストに対してジョブを実行できるようにするために必要なソリューションのようです。デオミンゼーションを使用した単純な fabfile のサンプリングの実際の例を誰かが提供できれば、私は非常に感謝しています!
前もって感謝します!
python - Pyro は python-daemon では動作しません
それでは、始めましょう。
1) PYRO - Python Remote Objects - 別のスクリプト間でオブジェクトを共有できるライブラリ
2) python-daemon - スクリプトのデーモン化を処理します - detach および作成者が「行儀の良いデーモン」と呼ぶその他のもの
一度にこのライブラリはうまく機能しますが、一緒には機能しません:(それを示すスクリプトを作成しました(3つのバリアントすべて):
Pyro 4.14-1 デーモン 1.5.5
エラー:
python - pep-3143を使用してPython2.7デーモンを作成する
誰かがPython2.7 をLinuxデーモンとして実装する方法を知っていますか?start/stop引数を使用した実用的な例を探しています。