在Linux中,“watch jobs”命令无法正常工作。

9
我希望您能使用“watch jobs”命令来查看所有正在运行的作业的更新情况,但是当我尝试这样做时,我只看到了“watch”的标题和一个空白屏幕。但是,使用以下脚本:
while (1)
  sleep 10;
  clear;
  jobs;
end

工作了,问题出在哪里?

2个回答

7

工作控制由shell管理,jobs是一个shell内置函数。如果您使用命令which jobs,则会发现在您的$PATH中没有名为jobs的二进制文件。

watch每两秒钟执行一次系统调用,因此它无法使用shell函数。

您还可以尝试watch 'ps awwwux | grep yourusername'。但这与jobs不完全相同。


ps awwwux | grep <username> 对我来说显示了太多的内容(我使用有很多线程的 Google Chrome),所以我更喜欢在这里使用 pgrep -fl <some regex> - Daniel Kitachewsky

4

Job不是系统命令,而是shell命令。当你启动watch时,它会执行一个子shell,该子shell具有自己的作业管理,当然没有作业。尝试使用watch ps。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接