后台作业的作业名或别名

后台作业的作业名或别名

有什么办法可以在工作中添加姓名或别名以供识别吗?

我尝试了一个笨拙的

> sleep 10 & # this job sleeps 10 seconds

jobs返回

[1]  + running    sleep 10

我找不到任何命令来执行此操作,例如

> sleep 10
(hit ctrl-z)
> setnametobackgroundprocess %1 -name "this sleeps 10 seconds"

谢谢


编辑 在我的情况下,使用“%”访问进程名称没有帮助,因为我使用相同的命令启动许多进程,并且由于“%”随启动的命令自动扩展,所以我无法区分哪个是哪个。因此,为什么我试图给它们一个唯一的标识符;我正在探索获得类似以下内容的想法:

>jobs
[1]  - running  myapp # launched by ID 28
[2]   running  myapp # launched by request of external
...

答案1

您可能会为此滥用变量:

bash-5.0$ foo=bar sleep 10 &
[1] 22335
bash-5.0$ jobs
[1]+  Running                 foo=bar sleep 10 &
bash-5.0$ fg %foo=bar
foo=bar sleep 10

所以也许是这样的:

n="ID 28" running myapp &
n="external" running myapp &

其中n是您的应用程序不太可能使用的变量。

相关内容