如果我使用screen -dmS screenname java -jar jarfile.jar
启动屏幕,进程java jar jarfile.jar
是否总是有一个比屏幕高一个值的PID?
至于exec - 如果我做exec java -jar jarfile.jar
,这个Java进程的进程ID是否会高于shell的PID值?
答案 0 :(得分:3)
没有。 PID不是那么可预测的。当两个进程非常接近同一时间启动时,它们的PID通常很接近,但总有可能同时启动另一个进程(另一个用户,一个cron作业,一个生成一个孩子的守护进程以响应某些进程)网络流量...)并将介于它们之间。
此外,顺序PID分配从最大值到最小值回绕。有些系统有32位PID,但我认为16位更常见,所以环绕非常频繁,最大值为32767,最小值约为700.
有些系统将随机PID作为安全功能。