【发布时间】:2019-01-17 08:52:23
【问题描述】:
我可以像这样启动一个后台进程:
>user@host ~ $ sleep 2m &
>[1] 123456
启动后台作业后立即显示作业号和 pid [1] 123456。
开始工作后,我可以使用jobs -l检查其状态。
>user@host ~ $ jobs -l
>[1] 123456 Running sleep 2m &
当我像这样启动后台进程时,我希望看到jobs -l 的完整输出:
>user@host ~ $ sleep 2m &
>[1] 123456 Running sleep 2m &
我也会对这个命令感到满意,就像这样:
>user@host ~ $ sleep 2m &
>[1] 123456 sleep 2m &
我在手册页中查找了一些控制显示内容的环境变量,但还没有找到。这可能吗?如果可以,怎么做?
【问题讨论】:
-
你说你想看到
jobs -l的完整输出。这是否包括其他已经在运行的后台作业,或者只是您刚刚开始的那一项? -
什么时候有用?我会认为该命令很明显,因为它是您刚刚输入的那一行
-
@thatotherguy,在命令提示符下逐个输入命令的情况下,我明白你的意思——在这种情况下,这有点愚蠢。这是别名或团队共享的。他们没有写别名,所以他们不确定它启动了什么进程,只知道它有什么 PID,这没有意义。他们可以查看别名定义,或者自己调用jobs -l,但最好直接将这些信息交给他们。
-
@Barmar,不是其他工作,只是我开始的工作 - 很好的说明。
-
你可以简单地做
sleep 30 & jobs -l %%虽然它会打印两次 pid
标签: bash shell command environment-variables background-process