問題タブ [child-process]

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 投票する
1 に答える
261 参照

javascript - Node.js配管-書き方は?

execに書き込み権限を与える方法を理解する必要があります。

これどうやってするの?

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

.net - 自分の.NETプロセスのすべての子プロセスを検索する/特定のプロセスが自分の子であるかどうかを確認しますか?

オブジェクトを破棄するまで実行され続けるセカンダリプロセスを起動する.NETクラスライブラリがあります。

プログラムがメモリ内に残っていることがいくつかあるため、統合テストを追加して、オブジェクトをGC / Finalizationに失効させた場合に、そのプロセスがスピンダウンすることを確認することにしました。

ただし、プロセスはMercurialコマンドラインクライアントであり、ビルドサーバーはすでにMercurialを独自の操作の一部として実行しているため、Mercurialがテストの開始時にすでに実行されているか、テストが開始されてまだ実行されている状況を想定しています。テストが終了すると、テストではなくビルドサーバーに関連して実行されます。

ですから、私が見つけた(または見つけなかった)Mercurialクライアントが、現在実行中のクライアントだけでなく、私が開始したものであることを確認したいと思います。

だから問題はこれです:

  • 私が見ているMercurialクライアントが私のプロセスによって開始されたかどうかをどのように知ることができますか?

「見て」ということで、Process.GetProcessesメソッドの使用を検討していましたが、これは必須ではありません。

別の質問の方が良い場合は、「自分のプロセスのすべての子プロセスを見つける方法」、つまり。答えるのは簡単です、それも十分すぎるほどです。

このページを見つけました:プロセスの親プロセスIDを知るにはどうすればよいですか?、しかし、私はそれにプロセス名を付けなければならないようです。「hg」とだけ言ったら、その質問は私が探しているケースにはあいまいすぎませんか?

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

node.js - 現在のシェルからコマンドを切り離す

child_process.execを介してコマンドを実行するnodejsサーバーがあります。そのようなコマンドの1つは、ノードインスタンス(および他のいくつかのこと)を再起動します。

スクリプトは次のようになります。

  • ノードを強制終了します
  • キルプログラムノードは使用します
  • ログをクリアする
  • プログラムの再起動ノードは使用します
  • ノードを再起動します

これが最善の方法ではないことはわかっていますが、私の手は結ばれています(これはソフトウェアのリリース版であり、次のリリースまで再構築できません)。

何が起こっているのかというと、コマンドを実行すると、ノードが強制終了され、スクリプトの残りの部分が停止します。

ノードが使用しているデフォルトのシェルはshであり、変更できません。

私のオプションは何ですか?

サーバーはrootとして実行されているため、権限の問題は発生しません。どういうわけか新しいシェルを開始する必要があると思いますが、それを行う方法が完全にはわかりません。現在のシェルを正常に終了したいのですが、スクリプト全体を現在のシェルから分離できる限り、それは必須ではありません。

0 投票する
5 に答える
1364 参照

c# - 最後に子プロセスを強制終了します

いくつかの子プロセスを開始し、それらの標準入力と出力をリダイレクトする C# アプリケーションがあります。

通常の方法でアプリケーションを閉じると、すべての子プロセスが破棄されますが、アプリケーションがタスク マネージャーまたは別の方法で強制終了されると、子プロセスを閉じることができません。

それらは存在し、多くの CPU パワー (ほぼ 99%) を必要とします。「リダイレクトされた」標準出力が読み取られないため、非常に多くの電力が必要だと思いますか?

子プロセスを常に閉じる方法はありますか? または、親プロセスを強制終了した後に CPU 時間を減らすには?

感謝をこめて

ケビン・マイヤー

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

linux - Qt子プロセスを閉じて、子プロセスにクリーンアップコードを実行させるにはどうすればよいですか?

Linux / Qtでプロセスを開始してから、QProcessを使用していくつかの子プロセスを開始しています。次に、最終的に子プロセスを適切に閉じます(つまり、クリーンアップコードを実行します)。

子プロセスはQSharedMemoryを使用しており、現在QProcess :: close()を呼び出すと、QSharedMemory :: detach()を呼び出さずに子プロセスが閉じられ、その結果、すべてのプロセスが閉じられます...ただし、共有が残っています。クリーンアップされていないメモリ。

子プロセスのコードがあり、コードには関数がありますcleanup()。親プロセスは、子プロセスが実行されるように、どのようにQProcessを閉じcleanup()ますか?

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

node.js - node.js 子プロセス

これがnode.js子プロセスのまともなユースケースになるかどうかを把握しようとしています:

人々が 1 対 1 の試合に参加するマルチプレイヤー ゲームがあります。一致ごとに子プロセスを使用する必要がありますか?

0 投票する
5 に答える
630 参照

node.js - 一致ごとのnode.jsプロセス

これは、以前と同じ種類の質問です。

node.jsの子プロセス

node.jsゲームの試合ごとに子プロセスを使用する必要があるかどうかを尋ねています。

しかし、以前は非常に重要な詳細を含めることを怠っていたことに気づきました。

このゲームでは、プレイヤーは特定の限られた方法でゲームルールを操作できます。ただし、これでも無限ループ/メモリリーク/ストールおよびクラッシュが発生する可能性があります。

マッチごとに1つのプロセスがスケーラブルで合理的なアイデアですか?

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

node.js - NodeJS子ノードプロセス

サードパーティのAPIからmongodbインスタンスにロードデータを送信する子プロセスをフォークしようとしています。子プロセス内でmongodbに接続しようとすると、エラーが発生します:EHOSTUNREACHに接続します。これはローカルインスタンスであり、親プロセスで接続できます。これは子プロセス内のコンテキストの問題ですか?

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

php - PHPでプロセスが終了するのを待つ(また、対応する子プロセスを待つ)方法は?

通常は終了するまで実行されるプログラムがありますが、状況によっては、2 つの子プロセスが作成され、メイン プロセスが終了します。メインプロセスが終了した後も、子プロセスは引き続き実行されます。

このプログラムを PHP で呼び出したい。

もともと、私は次の戦略を使用しました(有効なphpコードではありません)、

しかし、すぐに、$status['running'] が false であるというプロセスが実際にはすぐに終了するというバグが見つかりましたが、子プロセスはまだ実行されています。すべての子プロセスを実際に待つ方法は?

2 番目の質問は、proc_terminate を調べていないことですが、proc_terminate が期待どおりに機能しない可能性があることも確認しました。$process は bash ですが、実際の python プロセスではないためですか? また、終了したのは親のメインプロセスのみであり、子プロセスではないためかもしれません。

上記のコードが堅牢な PHP コードであるかどうかについて、誰かがアドバイスしてくれますか? これに対処するより良い方法はありますか?

ありがとう。

======================

より詳しい情報、

  1. このプログラムはシェル (CLI) で実行しますが、CGI 関数とは関係ありません。したがって、max_execution_time について心配する必要はありません。

  2. proc_open によって開かれたメイン プロセスによって作成された子プロセスを待ちたいので、プログラム内にプロセスを 1 つだけ作成します。

  3. 呼び出したい python プログラムが長時間ハングする可能性があるため、タイムアウトを確認して終了したいと考えています。