![JID(Job ID)とは何ですか?常にPIDより小さいですか? [閉鎖]](https://linux33.com/image/34873/JID%EF%BC%88Job%20ID%EF%BC%89%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%E5%B8%B8%E3%81%ABPID%E3%82%88%E3%82%8A%E5%B0%8F%E3%81%95%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
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