我使用php进程在后台发送电子邮件,我试图找到一种方法来自动恢复万一服务器发生故障或脚本发生了什么事情使其停止。PHP:我如何唯一标识Linux上的进程?
我的逻辑是:如果发送会话仍在运行但在X时间内没有发送新邮件,请杀死进程(如果已经运行并启动新进程)。
现在,我的问题在于“杀死进程如果已经运行”部分。我如何确定使用此PID的这个过程与我为发送会话启动的过程相同?我无法检查名称,因为我将要同时运行其中的几个。我不想杀死一个随机进程或另一个发送进程。
所以问题是:我怎样才能唯一识别在Linux上运行的进程?或者,我怎样才能以某种方式标记它,使其具有独特性?有没有办法从外面检查它的参数?
您可以创建像大多数其他软件PID文件不和雏鸡此文件。一个db存储值也可用。如果它是一个控制台运行PHP脚本,则可以使用getmypid()存储您的PID,并在必要时使用此PID来终止。 – ToBe
我已经有存储在数据库中的进程的PID。我需要一些方法来确保这无疑是发送会话的正确过程。 – Bogdan
如果您的脚本是作为控制台PHP脚本运行的,则可以确定。 – ToBe