“watch jobs”在 Linux 中不起作用

发布于 2024-10-30 17:02:06 字数 178 浏览 1 评论 0原文

我想使用watch jobs来查看我正在运行的所有作业的更新显示,但是当我尝试这样做时,我得到的只是手表的标题和空白屏幕。但是使用脚本

while (1)
  sleep 10;
  clear;
  jobs;
end

确实可以,问题出在哪里呢?

I want to use watch jobs to see an updated showing of all the jobs I have running, but when I try to do it, all I get is the headline of watch and a blank screen. But using the script

while (1)
  sleep 10;
  clear;
  jobs;
end

does work, where is the problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

镜花水月 2024-11-06 17:02:07

作业控制由 shell 管理,jobs 是 shell 内置函数。如果您使用命令 which jobs 您将看到 $PATH 中的任何位置都没有名为 jobs 的二进制文件。

watch 每两秒执行一次系统调用,因此 shell 函数对其不可用。

您也可以尝试 watch 'ps awwwux | grep 你的用户名'。但它与jobs不太一样。

Job control is managed by the shell and jobs is a shell builtin function. If you use the command which jobs you will see there is no binary called jobs anywhere in your $PATH.

watch is doing a system call every two seconds so shell functions aren't available to it.

You could also try watch 'ps awwwux | grep yourusername'. But its not quite the same as jobs.

潜移默化 2024-11-06 17:02:07

Job 不是一个系统命令,它是一个 shell 命令 - 当你开始观察时,他会执行一个子 shell,该子 shell 有自己的作业管理,当然没有作业。尝试观看 ps。

Job is not a system command its a shell command - when you start watch he executes a subshell which has its own job managment and of course no jobs. Try watch ps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文