什么是 .pid 文件以及它包含什么?
- 2024-10-25 08:42:00
- admin 原创
- 64
问题描述:
我最近发现了一个扩展名为 .pid 的文件,我查看了它,但没有找到什么。文档中写道:
Pid-File 是一个包含进程标识号 (pid) 的文件,该文件存储在文件系统中明确定义的位置,从而允许其他程序找出正在运行的脚本的 pid。
有人可以对此进行更多的阐释吗?或者指导我了解 pid 文件中包含的内容的详细信息吗?
解决方案 1:
pid 文件包含给定程序的进程 ID(一个数字)。例如,Apache HTTPD 可能会将其主进程号写入 pid 文件(即常规文本文件,仅此而已),然后使用其中包含的信息来停止自身。您还可以使用该信息自行终止进程,方法是使用cat filename.pid | xargs kill
解决方案 2:
不确定这是否是唯一的原因,但这是我的演练:
根据您编写 shell 脚本来终止所需进程的方式,您可能最终会在终止目标之前终止 kill PID,我们以mydaemon为例:
kill -9 `ps ax | grep mydaemon | awk '{ print $1 }'`
A) SIGPIPE 杀死在 32 位 Linux 中,PID 通常是一个 15 位整数,溢出确实经常发生,grep 或 awk PID 很有可能出现在 mydaemon 的 PID 之前。在 64 位中,PID 数字通常是 22 位,发生这种情况的可能性要小 100 倍以上,但仍然很有可能发生。
通过终止任一管道,您将收到 SIGPIPE 信号,通常这也意味着死亡,因此kill会在终止mydaemon之前被终止,从而导致终止尝试失败。
B) 杀死其他 PID 另外,假设您已经运行vi /etc/mydaemon/mydaemon.conf,那么该 PID 也可能会被杀死,更不用说其他用户的进程了,因为您很可能会以 root 身份发出这样的命令。
C) 它是一个简单的类 unix 锁 -> 无需额外的代码/守护进程。PidFiles 提供了一种相当简单的方法来创建用户可管理的锁,以防止您无意中两次生成守护进程。
解决方案 3:
Pidfile 包含进程的 pid。这是允许长时间运行的进程更具自我意识的惯例。服务器进程可以检查它以自行停止,或者启发式地知道其其他实例已在运行。Pidfile 还可用于方便地手动消除风险,例如pkill -F <some.pid>
解决方案 4:
要了解 pid 文件,请参阅此DOC
有时某些应用程序需要额外插件和实用程序的额外支持。因此,它会使用此 pid 文件作为参考,跟踪这些实用程序和插件进程的运行 ID。
这就是为什么每当您重新启动应用程序时,所有必要的插件和依赖应用程序都必须重新启动,因为 pid 文件将变得陈旧。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件