linux – 如何查找给定进程的.pid文件

前端之家收集整理的这篇文章主要介绍了linux – 如何查找给定进程的.pid文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在设置monit并希望监视给定的 python应用程序. Monit通过查看进程的.pid文件来做到这一点,但我不知道它会在哪里.

我也尝试创建自己的简单可执行文件并运行它 – 在这里我也无法弄清楚.pid文件的创建位置.

并且所有进程都有.pid文件吗?

解决方法

您通常会在Redhat / CentOS风格的系统上的/ var / run /中找到daemonized进程的PID文件.

除此之外,您始终可以查看进程init脚本.例如,SSH守护程序是使用/etc/init.d/sshd中的脚本启动的.有时会在那里定义PID(搜索pid,PID,PIDFILE,PID_FILE等).

但是,RHEL样式系统上的大多数其他守护程序都会为/etc/init.d/functions脚本提供一些常见功能.

# Set $pid to pids from /var/run* for {program}.  $pid should be declared
# local in the caller.
# Returns LSB exit code for the 'status' action.
__pids_var_run() {
        local base=${1##*/}
        local pid_file=${2:-/var/run/$base.pid}

对于任何来源/etc/init.d/functions,PID将存在于/var/run/*.pid中.

对于自定义应用程序,PID将在包装器脚本中定义(希望如此).我知道的大多数开发人员遵循与上面的守护进程相同的约定.

如果您确实遇到没有PID文件内容,请记住Monit can monitor on a process string patern as well.

原文链接:https://www.f2er.com/linux/400586.html

猜你在找的Linux相关文章