解释为什么观看“工作”无效,但观看“ ps”有效?


9

jobs我最喜欢的命令是查看我的代码在后台运行。为了动态检查它们,我倾向于键入

watch 'jobs'

不会显示任何内容。然而

watch 'ps'

完美地工作。我几个月来一直在犯同样的错误。

我认为理解为什么第一个不起作用而第二个不能起作用可以帮助我停止做同样的错误。

有人可以帮忙吗?



1
一个更有用的问题是“ 我如何使其工作?” 但是,为什么(在这种情况下)更有趣。
ctrl-alt-delor

Answers:


20

jobs是内置的,用于报告当前外壳的状态:与该外壳一起后台运行的命令。watch为每次执行运行一个新的shell,而该shell jobs无法知道watch父shell的工作是什么。ps是一个外部命令,它从未使用过shell的状态。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.