一尘不染

如何防止Linux程序多次运行?

linux

防止Linux程序/守护程序在给定时间多次执行的最佳方法是什么?


阅读 491

收藏
2020-06-07

共1个答案

一尘不染

最常见的方法是创建PID文件:定义文件将要到达的位置(在/ var /
run内部很常见)。成功启动后,您会将PID写入此文件。在决定是否启动时,请阅读文件并检查以确保所引用的进程不存在(或者如果存在,则它不是守护程序的实例:在Linux上,您可以查看/proc/$PID/exe)。关机时,您可以删除文件,但这不是绝对必要的。

有一些脚本可以帮助您做到这一点,您可能会发现start-stop- daemon它很有用:它可以使用PID文件,甚至可以全局检查可执行文件的存在。它是专门为完成此任务而设计的,旨在帮助人们正确完成任务。

2020-06-07