jobs
是我最喜欢的命令来查看在后台运行的代码。为了动态检查它们,我倾向于输入
watch 'jobs'
它不显示任何内容。然而
watch 'ps'
工作完美。几个月来我一直在犯同样的错误。
我认为理解为什么第一个不起作用而第二个起作用可以帮助我停止犯同样的错误。
有人可以帮忙吗?
答案1
jobs
是一个报告当前 shell 状态的内置命令:该 shell 的后台命令。watch
每次执行都会运行一个新的 shell,并且该 shelljobs
无法知道watch
父 shell 的作业是什么。ps
是一个外部命令,它从未使用 shell 的状态。