問題タブ [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.
c# - プロセスのリソースを解放する方法
System.Diagonistics.Process を使用し、2 つのファイル名をパラメーターとして渡すことで、外部プロセスを呼び出しています。例外が原因でこのプロセスが終了することがありますが、ファイルハンドルがプロセスによって解放されていないようです。プロセスが占有しているリソースを解放するにはどうすればよいですか。
multithreading - Apache ワーカーが独自のワーカー スレッドまたはプロセスを開始するとどうなりますか?
ワーカー プロセスのプールで Apache を使用していて、そのうちの 1 つが独自の長時間実行プロセスを起動した場合、そのワーカーはどうなりますか? Apache は最終的にそれを強制終了し、子プロセスを強制終了しますか? そのワーカーは永久に利用できなくなりますが、実行し続けますか? プロセスではなくスレッドを開始する場合、どのように違いますか? さまざまな Web アプリの展開シナリオでどのように異なりますか?
c - パイプでコマンド出力を取得、Linux の場合は C
Linux CLI コマンドを実行し、C から stdout 出力を取得する必要があります。
pipe() を使用してパイプを作成し、次に fork/exec を使用して、exec() を呼び出す前に子の stdout 記述子をパイプにリダイレクトし、親のパイプから読み取ることができます。さらに、私は子供を待つ必要があります。
system() が fork + exec + 待機を行うように、fork + リダイレクト + exec + 待機を行うための単純な呼び出しはありますか? system() のみがリダイレクトを行いません。
fork + redirect + exec を行う popen() がありますが、待機は行わないため、終了ステータスを取得できません。
linux - Linux で停止したプロセスの理由を特定する
Linux でプロセスが停止した理由を特定しようとしています。これは通信アプリケーションであり、かなりの負荷がかかる状態で実行されます。8 つの T1 スパンごとに個別のプロセスがあります。ときどき、プロセスの 1 つが非常に応答しなくなります。通常は非常にビジーなプロセスのログにイベントが記録されるまでに、最大 50 秒かかります。
システム リソースが不足している可能性があります。明らかなこと - CPU 使用率 - は問題ないようです。
この種のものをキャッチして分析するのに最適なLinuxユーティリティはどれですか?これは非常に負荷の高いシステムであるため、できるだけ目立たないようにしますか? システム指向ではなく、プロセスである必要があるように思われます。おそらく /proc/pid/XX の継続的な監視ですか? ここでは Top はあまり役に立たないようです。
c# - クライアント マシンから現在の SharePoint ページを検出する方法を教えてください。
クライアント マシンでは、現在のユーザーが現在どのサイトを見ているかを何らかの方法で検出できる必要があります。sharepoint アプリのベース URL、たとえば sharepoint.thecompany.net は知っていますが、サーバーから最後に要求された URL を取得するにはどうすればよいですか? 現在のプロセスを繰り返し、ieexplorer プロセスを使用できるものにキャストしようとすると、完全に停止しました。プロセスをキャストするオブジェクトの種類がわかりません:-(
このロジックをクライアント ボックスで実行する C# アセンブリに実装したいと考えています。
うまくいくかもしれない他のアプローチはありますか?
前もって感謝します
.net - CPUサイクルのアセンブリ実行数を制限する
指定されたインターフェイスを実装する未知のアセンブリを動的にロードするプロジェクトがあります。インターフェイスを実装する以外に、アセンブリの内容や目的がわかりません。
これらのアセンブリで使用できる処理能力の量を何らかの方法で制限する必要があります。プロセッサの優先順位は私が探しているものではありません。サーバーが任意にビジーである可能性があるため、ストップウォッチを使用してアセンブリの実行に一定の時間を割り当てることができません。
最適には、CPU使用率の完全に負荷に依存しない測定値を指定したいと思います。必要に応じて、独自のプロセスでアセンブリを実行できます。
特定のスレッド(またはスレッドが最適ですが、プロセス)の時間の経過に伴う合計CPU使用率を何らかの方法で測定する方法はありますか?
プロセスパフォーマンスカウンターを使用するのでしょうか、それとも信頼性が低すぎるのではないかと思います。サイクルごとの精度は必要ありませんが、各アセンブリの実行に割り当てられる計算能力を制限するには、かなり高い精度が必要になります。
私の状況を少し外挿します。プロセスの優先順位付けを求めていない理由は、リソースを使い果たすことを恐れていないためです。特定のアセンブリが使用する「いくつの」リソースを測定できることを確認する必要があります。したがって、サーバーが任意であるという私のポイントです。忙しい。
2つのアセンブリXとYがあるシナリオの例を想像してみてください。それぞれが特定のアルゴリズムを実装しており、どのアセンブリが最も速くジョブを実行するかについてのプリミティブテストを実行したいと思います。各アセンブリを実行し、「Z」リソースが使用されるまで実行します。その時点で、どのアセンブリが最適な作業を行ったかを評価します。この場合、一方のアセンブリが100%CPUで3秒間実行され、もう一方のアセンブリが5分間で2%CPUで実行されるかどうかは関係ありません。重要なのは、リソースの合計使用量です。
CPU時間perfcounterを使用して大まかな制限を行うことができるかもしれないと思っています。新しいスレッドで各アセンブリを実行し、所定のCPU時間を使用するまで実行します。その時点で、プロセスを強制終了して結果を評価します。私はそれが十分に正確ではないのではないかと心配しています。
process - 機能を決定するとき、何をしますか?
それを実装する理由を主に考えますか、それとも実装しない理由を考えますか? それぞれの利点は何ですか?
process - 小さな部分でのアジャイル: 費用対効果が最も高い
開発プロセスを改善するために、アジャイル開発のどの側面を最初に実装する必要がありますか?またその理由は?
私は、プロセスを再設計するのではなく、プロセスを「微調整」する必要がある状況にあり、「アジャイル」が今日のマントラのようです。品質、市場投入までの時間、ドキュメント、透明性など、何かを改善する変更を 1 つだけ加えることができる場合、最も目に見えるプラスの影響を与えるものは何ですか?
正しく選択すれば、次の選択をすることができます。:-)
更新: 現在の SDLC は何ですか?
環境: 基本的に「再起動」。少数の開発者。10^5 から 10^6 の LOC を備え、世界中に何万もの展開されているレガシー製品。製品は相互に強く依存しています。リファクタリングなしの多くの 1 回限りのものを含む、長年にわたって追加された重要な機能。タイトなスケジュール; 表面的な QA; 事後分析や「プロセスの第一人者」はいません。
典型的なプロセス:
- 設計・仕様書作成 すべての利害関係者によるレビュー。
- 1 つ以上の機能/修正をコーディングします。
- サプライズを考慮して設計/仕様を修正します。
- 機能をテストし、欠陥を記録します。
- 新しいタスクと残りのタスクに優先順位を付けます。
- 設計・仕様・スケジュールの見直し。
- 必要に応じて手順 2 に戻ります。
- ベータ版をリリースし、フィードバックを記録します。
- 必要に応じて手順 2 に戻ります。
- 公式リリース。
たくさんの有益な提案と洞察をありがとう!
haskell - Haskellで親プロセスとフォークされた子プロセスの間でデータを共有するにはどうすればよいですか?
そもそも Haskell を使用して子プロセスをフォークするにはどうすればよいでしょうか?
また、パイプがデータ共有の質問に対する明らかな解決策である場合、パイプを使用する以外にそれを行う方法はありますか? 私は、C での共有メモリ セグメント (shmget、*shmat、shmdt、および shmctl 関数) の使用に精通しています。Haskell はこれを真似できるでしょうか? もしそうなら、どのように?
お手数をおかけいたしますが、何卒よろしくお願いいたします。
私は関数型プログラミング言語に非常に慣れていないことを認めなければなりません。Haskell に関してはなおさらです。だから私がばかげたことを言ったら、私を許してください(そして私を訂正してください).
multithreading - サービスでスレッドの優先順位を設定しても効果がない
Windows サービスでスレッドの優先順位を設定する前に、追加の構成が必要ですか?
私のサービスでは、それぞれがCreateProcess()
関数を呼び出して外部アプリケーションを起動するいくつかのスレッドがあります。他の要因に応じて、スレッド (またはプロセス) の優先度をnormal
またはに調整したいと思います。lower
問題は、SetThreadPriority()
関数がエラー 6 (無効なハンドル?) で失敗することです。PROCESS_INFORMATION::hThread
(もちろんを呼び出した後)から取得したハンドルを渡しているので、ハンドルは有効である必要があるCreateProcess()
と思います。
関数を使用してプロセスの優先度を設定しようとしましたがSetPriorityClass()
、これも失敗します。
サービスはローカル ユーザーとしてログオンします。