我想知道是否有某种方法可以在运行某个应用程序之前强制将某些特定进程ID运用于Linux。我需要提前知道进程ID。
实际上,有一种方法可以做到这一点。由于设置了CONFIG_CHECKPOINT_RESTORE的内核3.3(在大多数发行版中已设置),因此存在/ proc / sys / kernel / ns_last_pid,其中包含内核生成的最后一个pid。因此,如果要为派生程序设置PID,则需要执行以下操作:
瞧!孩子将拥有您想要的PID。另外,不要忘记解锁(使用LOCK_UN锁定)并关闭ns_last_pid。
你可以在我的博客检出的C代码在这里。