如何识别两个相同的 nohup 命令?

How to identify two identical nohup commands?

我有两个使用 Laravel 框架的网站。我需要使用命令来处理队列。为此,我使用 nohup。

但是我需要 运行 两个相同的 nohup 命令才能在两个不同网站的后台 运行。问题是有时我只需要停止一个命令进行维护。我如何识别哪个 nohup 命令属于特定网站?我可以在 nohup 命令中使用名称标识符吗?

您可以使用 php 的 -E cli 参数,它允许您指定要执行的代码 "after" 脚本的其余部分完成,这个额外的代码可能只是一个PHP 评论,可以嵌入ID信息:

sudo nohup php -E '//job #x' artisan etc...
                   ^^^^^^^^---raw php code, no <?..?> required

由于它只是一条评论,实际上不会做任何事情,您可以将评论格式化为包含您想要的任何 ID 信息。

$!可以得到最后一个后台进程的PID。将其保存到类似 echo $! > processA.pid 的文件,然后使用该 PID 停止所需的进程。