把 pid 写在文件里有什么好处?
经常看到一些服务的进程 id 号是写在一个 pid 文件里:
- 把这个 pid 写在文件里有什么好处?
- 针对上面的第 1 点,那么其他服务没有把 pid 写在文件里又是怎么做的?(这个问题貌似有点愚蠢,实在操作系统知识缺乏)
- pid 文件一般只放一个 pid,当一个服务同时启动多个进程时, 是否需要多个 pid 文件 ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
pid文件主要用于实现单实例运行进程。过程是这样的:
进程启动,尝试对pid文件加排它锁
getpid()
的结果写入这个文件,继续运行补充一下,除了用来防止启动多个实例。另外就是发送控制信号了。例如
nginx -s reload
这种命令就是获取到pid文件中的pid,来对这个pid发送信号实现的。linux 的哲学就是“一切都是文件”。
并不是所有的进程都由 pid 文件,pid 文件一般用来防止一个程序重复启动多个副本。
用的最多的还是防止启动多个实例