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

php - Linux の親プロセスから独立してスクリプトを開始できますか?

別のプロセスからスクリプトを開始する方法はありますか?そのため、プロセスが停止/終了してもスクリプトは続行されますか?

setuid はこれを行いますか? 所有者をルートに設定してからスクリプトを開始するとしたら?

たとえば、スクリプトを開始する PHP コードがある場合、httpd が終了するか強制終了された場合、スクリプトが一緒に使用されると思います。これを回避する方法はありますか?

具体的には、Fedora 10 と Apache 2 および PHP 5 を使用しています。

0 投票する
3 に答える
357 参照

java - スレッド化されたクラスをデーモンとして実行する

私は Java でマルチスレッド ソリューションを作成して、2 つのシステム A と B を接続しています。システム A は完全にシリアルであり、スレッド化されておらず、システム B に送信するデータを提供します。システム B は、複数のソースからのデータを非同期で同時に受け入れます。時間。

スレッドの管理に ThreadPoolExecutor を使用しています。システム A は新しいオブジェクトを作成できませんが、静的オブジェクトを呼び出すことはできるため、ThreadPoolExecutor (これも静的) をラップするクラス TP の静的シングルトン インスタンスを使用しています。

ここが私が立ち往生している場所です。本格的に始める前に、セットアップの非常に基本的なテストを行っています。テスト用に T1 と T2 の 2 つのクラスを作成しました。これらの各クラスは、クラス TP (静的シングルトンが作成される場所) をインポートします。T1 がいくつかのオブジェクトを TP キューに追加し、次に T2 がさらにオブジェクトを追加します。

TP オブジェクトは静的として宣言されていますが、2 つのバージョンが並行して実行されているように見えます。T2 によってキューに送信されたオブジェクトは、T1 によって送信されたオブジェクトがすべて実行される前に実行されています。また、T1 も T2 も ThreadPoolExector で shutdown() を呼び出さないため、どちらもハングして終了しません。

異なる Java 実行可能ファイルからでも、処理する何かを送信するたびに基本的にウェイクアップするトレッドのデーモン静的インスタンスを作成するにはどうすればよいですか?

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

python - デーモン python ラッパー「サブプロセス I/O タイムアウト」、指示が必要

私はPythonでデーモンを作成する方法にあまり慣れていないので、サードパーティのオープンソースTeX Python Wrapperをインストールして実行しようとすると、よくわからないエラーが発生しました。

デバッグに役立つようにいくつかの印刷を追加しました。

欠陥のあるものは texdp.py と呼ばれます

texdp サーバーの開始を呼び出す mathland を実行すると、次のエラーが表示されます

責任のあるコードの部分は添付されており、メソッドdef _processの 200 行目あたりにあります。

どこから調べればよいのか、このエラーが実際に何を意味するのかわかりません。どんな助けでも大歓迎です。

https://texd.svn.sourceforge.net/svnroot/texd/trunk/py/tex/texdp.py

0 投票する
9 に答える
64124 参照

python - デーモンの作成時にダブルフォークを実行する理由は何ですか?

Pythonでデーモンを作成しようとしています。次の質問を見つけました。これには、現在フォローしているいくつかの優れたリソースが含まれていますが、ダブルフォークが必要な理由について興味があります。私はグーグルを引っ掻き回して、それが必要であると宣言している多くのリソースを見つけましたが、その理由はありません.

デーモンが制御端末を取得するのを防ぐためだと言う人もいます。2番目のフォークなしでこれを行うにはどうすればよいでしょうか? 影響は何ですか?

0 投票する
6 に答える
17185 参照

python - PythonのBaseHTTPServerのデーモン化

HTTPサーバーを埋め込む必要があるデーモンに取り組んでいます。BaseHTTPServerで実行しようとしています。フォアグラウンドで実行すると正常に動作しますが、デーモンをバックグラウンドにフォークしようとすると動作を停止します。私のメインアプリケーションは引き続き機能しますが、BaseHTTPServerは機能しません。

これは、BaseHTTPServerがログデータをSTDOUTとSTDERRに送信するという事実と関係があると思います。それらをファイルにリダイレクトしています。コードスニペットは次のとおりです。

私はここで何か間違ったことをしていますか、それともBaseHTTPServerがデーモン化されるのをどういうわけか妨げられていますか?

編集:追加の、以前は欠落していたコードフローを示すためにコードを更新し、そのlog.debugがフォークされたバックグラウンドデーモンに表示され、フォーク後にコードをヒットしています。

0 投票する
9 に答える
16775 参照

java - PHP コードを Java バックエンドに接続する

フロントエンドに PHP を使用し、バックエンドに Java サービスを使用して Web サイトを実装しています。2 つの部分は次のとおりです。

  1. PHP フロント エンドは、http 要求をリッスンし、データベースと対話します。

  2. Java バックエンドは継続的に実行され、フロントエンドからの呼び出しに応答します。

より具体的には、バックエンドは、いくつかの IM サービス (AOL、MSN、Yahoo、Jabber...) へのリンクを接続して維持するデーモンです。

両方のレイヤーが同じシステム (CentOS ボックスだと思います) にデプロイされ、中間レイヤー (たとえば、XML-RPC を使用) を導入するとパフォーマンスが低下します (リソースもかなり制限されます)。

質問: 2 つのレイヤーを直接リンクする方法はありますか? (間にWebサービスはありません)

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

asp.net - アプリケーション設計 - WebPage フロントエンドを備えたデーモン

入力ディレクトリを 5 秒ごとにスキャンするアプリケーションがあり、ジョブ (つまりファイル) がディレクトリに配置されると、アプリケーションはそれを読み取り、処理し、別のファイルを出力ディレクトリに出力します。

私の質問は、このアプリケーションに Web ベースのフロント エンドを配置したい場合、処理が完了するまでどのように待つのでしょうか?

  • ユーザーがジョブを送信
  • ジョブは入力ディレクトリに配置されます
  • ……私はここのウェブページで何をしているのですか?
  • 処理が発生します
  • 出力ファイルが生成されます
  • ......ジョブが終了したことをどのように知ることができますか?

私が思いついた2つの解決策は次のとおりです。

  • Web ページから x 秒ごとに出力ディレクトリをポーリングする
  • ajax を使用して、出力ファイルが存在するかどうかを報告する Web サービスまたは Web ページをポーリングします。

サーバーのより良い設計はありますか? 言い換えれば、TCP または名前付きパイプは、この状況でどのように役立つのでしょうか? (DCOM オブジェクトのため、リモーティングは使用できません。)

0 投票する
3 に答える
3047 参照

php - 子が終了できるように、db-resources を共有せずに PHP プロセスを生成してデタッチしますか?

MySQL テーブルを通過し、子プロセスを生成する「永遠の」プロセスが必要です。擬似コード:

問題は、子プロセスが worker_program から戻ってきて終了するときに、明らかに共有されている mysql ハンドルを閉じるため、親プロセスが「Msql server going away」エラーを受け取ることです。

これを解決するにはどうすればよいですか?設計ミスですか?

子が自由に終了できるように、dbリソースなどを共有せずに、PHPでプロセスを生成して切り離すにはどうすればよいですか?

(試してみました: setsid と fork を再度試しworker_program &、php で fork する代わりに ' ' でワーカーを呼び出しましたが、まったく機能していないようです (変ですか?)。私は PDO を使用しています。php.net の人たちもこの動作はバグではないと言います. これは osx と php5.3 (および debian) にあります.)

参考文献:

php.net/bug: 「子プロセスがなくなった後、親プロセスが MySQLi 接続を失った」

更新/回避策

だから私はついにこれに対処する方法を見つけました。popen機能するのは、ワーカープロセスを生成するために使用することです。そうすれば、共有なしで、完全に「新しい」プロセスが作成されたように見えます。次に、子供に分岐と切り離しをさせます。pcntl_forkしたがって、マスタープロセスでは、 orの代わりにexec:

そして、ワーカープログラムで:

0 投票する
3 に答える
689 参照

ruby - 多数のRubyプロセスを監視する最良の方法は何ですか?

それぞれが多数の Ruby「ワーカー」(デーモンのようなプロセス) を実行している複数の物理サーバーのファームがあり、これらのプロセスの正常性と進行状況を中央の場所から (おそらく履歴グラフを使用して) 監視できるようにしたいと考えています。 Cacti が提供するように。そのようなことを行うための最も単純でオープンスタンダードなプロトコルは何ですか? 私はすでにmonitを使用して、プロセスを稼働させ、制御下に置いていることに注意してください。ここで求めているのは、それらをチェックインするための単一のエントリ ポイント (つまり、ダッシュボード) です。ありがとう。