を使用して画面を開始した場合screen -dmS screenname java -jar jarfile.jar
、プロセスにjava jar jarfile.jar
は常に画面より1つ高い値のPIDがありますか?
execに関しては、もし私がそうしexec java -jar jarfile.jar
たら、このJavaプロセスのプロセスIDはシェルのPIDの値より1つ大きいでしょうか?
を使用して画面を開始した場合screen -dmS screenname java -jar jarfile.jar
、プロセスにjava jar jarfile.jar
は常に画面より1つ高い値のPIDがありますか?
execに関しては、もし私がそうしexec java -jar jarfile.jar
たら、このJavaプロセスのプロセスIDはシェルのPIDの値より1つ大きいでしょうか?
いいえ。PIDはそれほど予測可能ではありません。2つのプロセスがほぼ同時に開始されると、通常、それらのPIDは互いに接近しますが、別のプロセスが同時に開始される可能性は常にあります(別のユーザー、cronジョブ、一部のプロセスに応答して子を生成したデーモン)。ネットワークトラフィック...)そしてそれらの間に入ります。
また、順次PID割り当ては、最大値から小さい数値にラップアラウンドします。一部のシステムには32ビットのPIDがありますが、16ビットの方が一般的であると思います。そのため、ラップアラウンドはかなり頻繁に行われ、最大で32767、最小で約700になります。
一部のシステムでは、セキュリティ機能としてランダム化されたPIDが使用されています。