防止使用某些 PID?

防止使用某些 PID?

当一个进程启动时,Linux 会从池中选择一个 PID。

我想知道是否有可能在不重新启动机器的情况下告诉 Linux 不要选择某个 PID,因为我想禁用某个 PID 大约 2 秒钟,然后我将解除该限制。

用例

我有大约 20 个 C++ 应用程序并行运行,每个应用程序都会创建一个名为 的命名共享内存段process.[pid]。并且由于每个应用程序都可能崩溃(如果出现错误),那么我就没有机会清理(删除process.[pid]或者更准确地说,shm_unlink()段)。由于内存有限,如果我发现与 关联的进程process.[pid]已经死亡,我希望回收资源。因此,我打算编写一个脚本(cron定期启动它)来解析命名共享内存段文件,然后清理。但我担心当我的脚本即将删除时,process.1234操作系统会将 PID 1234 分配给我新启动的 C++ 应用程序,它将尝试创建process.1234,然后在创建之后,操作系统上下文切换到我的脚本来删除process.1234

谢谢。

相关内容