![如何将PID存储到文件中](https://linux22.com/image/142198/%E5%A6%82%E4%BD%95%E5%B0%86PID%E5%AD%98%E5%82%A8%E5%88%B0%E6%96%87%E4%BB%B6%E4%B8%AD.png)
我需要将 pid 号存储在一个/多个文件中。怎么做?
答案1
PID 文件可以由进程本身创建,也可以由辅助程序创建,辅助程序在启动主程序后写入 PID 文件。
在类 Unix 系统上,通常使用系统调用fork()
来创建新程序。创建调用进程的副本,在父进程中返回子进程 ID (PID),在子进程中返回 0。父进程(帮助程序)可以将PID保存在PID文件中。然后用于启动新程序。exec()
fork()
exec()
进程可以使用getpid()
系统调用获取自己的PID,然后将其保存到文件中。
如果您从 shell 启动程序,则可以使用帮助程序,例如start-stop-daemon
(如果在基于 Debian 的系统上),它可以在启动程序后写入 PID 文件。如果您的程序妖魔化了自己,您还可以通过访问变量来存储 shell 中的 PID $$
。