JID(Job ID)とは何ですか?常にPIDより小さいですか? [閉鎖]

JID(Job ID)とは何ですか?常にPIDより小さいですか? [閉鎖]

JID(Job ID)が正確に何であるか、どのように割り当てられるのかわかりません。 PIDとはどのような関係がありますか?どの数字が他の数字のサイズにどのような影響を与えますか?

答え1

bash私が使用したシェルでは、PIDとジョブID(、、dash)の間には関係ありませんzsh

ただし、シェル操作はシェルの子プロセスであり、PID 1(init)はシェルを含むすべてのプロセスの祖先です。したがって、ジョブIDが1のプロセスは、いつもPIDがジョブIDより大きい。

ジョブIDの割り当ては、シェルによって異なります。では、bash実行中のバックグラウンドジョブの最大ジョブIDよりも1大きいジョブIDを割り当てるのが一般的です。

$ sleep 1 & sleep 10 & sleep 1 &
[1] 11367
[2] 11370
[3] 11373
$ 
[1]   Done                    sleep 1
[3]+  Done                    sleep 1
$ sleep 1 &
[3] 11378

関連情報