「すべての子が終了する前に n 秒待機することを確認します (n は子の PID の最後の桁です)」
例:
子 PID: 5023 //最後の桁 = 3 Sleep(3)
PIDから最後の桁を抽出するにはどうすればよいですか??
みんなありがとう!
PID が という変数に格納されている場合x
、最後の桁は として見つけることができますx % 10
。
PID は通常、「sys/types.h」の整数型である pid_t 型です。署名されたタイプの推奨事項である必要があるため
符号なし LastDigit = ((符号なし) pid) % 10;
これにより、mod が -57%10 --> -7 のような否定的な結果を報告しないことが保証されます。
sleep(t)
パラメータを取りunsigned
ます。変数pid
, が -1, のような負の値を取ると、長時間sleep(pid % 10)
スリープ状態になります。
[編集]pid_t
は署名付きタイプです。などのpid_t
関数からエラーが返されると、変数は負になりますfork()
。