Monit — 守护非守护进程?

all*_*ire 5 unix ubuntu monit

我有一个 ruby​​ 进程,它不作为守护进程运行(它在前台运行),但可以生成一个 pid 文件。我的问题是 Monit 总是希望监视后台/守护进程吗?

我过去使用过 Bluepill,这是默认行为:

请注意,由于我们指定了一个 PID 文件和启动命令,所以 bluepill 假定该进程将自行守护进程。如果我们想让 bluepill 为我们守护它,我们可以这样做(注意我们仍然需要指定一个 PID 文件): process.daemonize = true

monit 有类似的东西吗?AFAIK,只要进程(守护进程与否)可以创建一个 PID 文件,Monit 就会检测它是否对自身进行守护进程并且不会对其进行守护进程,反之亦然......

谢谢

Mik*_*ike 4

它对于 monit 来说工作得很好。你可以让它检查进程的 pid 文件,基本上 monit 正在做的是做一个

ps aux | grep pid#
Run Code Online (Sandbox Code Playgroud)

如果它在那里,则认为它已启动并正在运行。如果你没有 pid 文件,你也可以通过类似的方式检查进程

check process myprocessname
    matching "myprocessname"
Run Code Online (Sandbox Code Playgroud)

这几乎做了一个

ps aux | grep myprocessname
Run Code Online (Sandbox Code Playgroud)