经常看到一些服务的进程 id 号是写在一个 pid 文件里:
- 把这个 pid 写在文件里有什么好处?
- 针对上面的第 1 点,那么其他服务没有把 pid 写在文件里又是怎么做的?(这个问题貌似有点愚蠢,实在操作系统知识缺乏)
- pid 文件一般只放一个 pid,当一个服务同时启动多个进程时, 是否需要多个 pid 文件 ?
经常看到一些服务的进程 id 号是写在一个 pid 文件里:
linux 的哲学就是“一切都是文件”。
并不是所有的进程都由 pid 文件,pid 文件一般用来防止一个程序重复启动多个副本。
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答798 阅读✓ 已解决
2 回答3.2k 阅读
pid文件主要用于实现单实例运行进程。过程是这样的:
进程启动,尝试对pid文件加排它锁
getpid()
的结果写入这个文件,继续运行