この問題を解決するために使用できるシステムコールはわずかしかなく、それらが状況にどのように役立つかがわからないため、解決方法がわかりません。
演習:
サイズ [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 ページ以外に、コード例などを参照して理解を深めることができるドキュメントはありますか? または、誰かが私に違いを説明し、そのような違いを示す基本的な例を提供できますか?