为 bash 命令附加唯一标识符

为 bash 命令附加唯一标识符

我正在运行一个命令,希望pkill -f稍后能够使用它来终止该特定命令实例。我没有合理的方法来获取 PID。

因此,我的想法是在命令末尾附加一个唯一标识符,如下所示:

./command argument1 argument2 UNIQUE-IDENTIFIER-ASDF-GHJK-123

然后如果我想杀死它,我就可以这样做

pkill -f UNIQUE-IDENTIFIER-ASDF-GHJK-123

问题是,./command严格只采用两个参数,因此通过传递第三个唯一标识符,它会出现错误。

有没有办法以某种方式包含这个唯一标识符字符串,而不将其传递给./command

谢谢。

答案1

使用 Linux:

使用具有唯一值的变量作为命令的前缀

IDENTIFIER=ASDF ./command argument1 argument2

稍后搜索此变量以获取 PID 并终止该进程

grep -sa IDENTIFIER=ASDF /proc/*/environ | cut -d '/' -f 3 | xargs kill

相关内容