問題タブ [fork]

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

c - wait((int *)0) の意味

このような待機関数を使用するプログラムの 1 つに、次のものがあります。

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

c++ - vfork() を使用するとエラーが発生するのはなぜですか?

これは私のコードです...エラーセグメントが表示される理由がわかりません...誰かが理由を説明してくれませんか?

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

python - フォークされたプロセスから大量のデータを送信するにはどうすればよいですか?

ライブラリ用のctypesラッパーがあります。残念ながら、このライブラリは100%信頼できるわけではありません(時折のsegfaultなど)。それがどのように使用されるかという理由で、私はラッパーがライブラリのクラッシュに対して適度に回復力があることを望んでいます。

これを行う最良の方法は、プロセスをフォークし、結果を子から送り返すことのようです。私はこれらの線に沿って何かをしたいです:

ただし、これは完全には機能しません。フォークされたプロセスは書き込みでハングします。一度に送信しすぎていませんか?この問題に対するより簡単な解決策はありますか?

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

python - Python マルチプロセッシングは Windows にどのように実装されていますか?

Windows に fork() 呼び出しがない場合、Python 2.6 のマルチプロセッシング パッケージは Windows でどのように実装されていますか? Win32 スレッドまたはある種の偽のフォークに加えて、または既存のマルチスレッドに加えて単に互換性を確保しますか?

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

c - C で fork() を適切に実行するにはどうすればよいですか?

コードが機能しない理由がわかりません。

これは私のコードです。エラー セグメントが表示される理由がわかりません。誰かが私に理由を説明してもらえますか?

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

c - fork、wait、exit などの正しい使い方

この問題を解決するために使用できるシステムコールはわずかしかなく、それらが状況にどのように役立つかがわからないため、解決方法がわかりません。

演習:
サイズ [10][1000000] の行列があり、行ごとに fork() を使用して新しいプロセスを作成します。各プロセスの考え方は、その特定の行のすべての番号を調べて特定の番号を見つけ、それに関するメッセージを出力することです。これが問題の最初のステップであり、これで完了です。2 番目のステップは、各行にその数の出現回数の合計をorderごとに出力することです。そして最後に、その数の発生の総合計です。

呼び出し:
私が使用できるシステム コールは、この演習のドキュメントで次のように説明されています。

  • pid_t fork(void);
  • void exit(int status);
  • pid_t wait(int *status);
  • pid_t waitpid(pid_t pid, int *status, int options);

問題:呼び出しで 256 未満の数値しか渡せない
ため、どうすればよいかわかりません。発生回数がこの数値よりも大きい場合はどうなりますか? exit()そのような数値を返すにはどうすればよいですか?

別の問題:
と の違いwait()と、どちらwaitpid()をどのように/どこで使用するかを正確に理解していません。man ページ以外に、コード例などを参照して理解を深めることができるドキュメントはありますか? または、誰かが私に違いを説明し、そのような違いを示す基本的な例を提供できますか?

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

linux - Linux で fork() または system() 呼び出しが失敗する原因となる条件は何ですか?

また、それらのいずれかが発生しており、fork() または system() によって返されるエラーにつながるかどうかをどのように確認できますか? 言い換えれば、fork() または system() がエラーを返した場合、その特定のエラーが発生している理由を診断するために Linux でチェックできることは何ですか?

例えば:

  • 単純にメモリ不足です (結果は errno ENOMEM になります) - 「free」などでメモリの使用状況を確認してください。
  • カーネルが親プロセスのページ テーブルやその他のアカウンティング情報をコピーするのに十分なメモリがありません (errno EAGAIN になります)
  • グローバルなプロセス制限はありますか? (errno EAGAIN も発生しますか?)
  • ユーザーごとのプロセス制限はありますか? どうすればそれが何であるかを知ることができますか?
  • ...?
0 投票する
3 に答える
5310 参照

java - AntのJavaタスクのフォークに相当するJava?

Ant Java タスクforkパラメーターを提供します。これは、定義により、「有効にすると、別の VM でクラスの実行をトリガーします」。大量のデータを扱っているため、このパラメーターを設定することで、Java ヒープ スペースが不足することを回避できました。
Java クラスを介して同じことができるようにしたいと考えています。が提供する機能を実現する最善の方法は何forkですか?

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

open-source - プロジェクトをフォークするとき、新しいライセンス テキストには何を含める必要がありますか?

プロジェクトをフォークする場合、ライセンス テキストに関して新しいプロジェクトの責任は何ですか? 具体的には、BSD ライセンス (寛容なライセンス) には次のテキストが含まれています。

ソース コードの再配布には、上記の著作権表示、この条件のリスト、および次の免責事項を保持する必要があります。

同じプロジェクトの新しいバージョンを作成する場合、古い通知ファイルを引き続き含める必要がありますか? このように、新しい著作権を古い著作権に追加するだけで十分でしょうか?

Copyright (c) 1999-2006 [旧プロジェクト], 2009 [新プロジェクト]

ライセンスを (たとえば GPL に) 切り替える場合、古いライセンス テキストを含める必要がありますか?