命令 "jobs "在终端(shell,bash)上不工作。

问题描述 投票:0回答:7

我只是想做一个简单的脚本,其中涉及到命令 "jobs",但它似乎不工作,它甚至不被 "man "识别...... 不知道是怎么回事:S。

bash shell command jobs
7个回答
1
投票

jobs 只会报告后台或暂停的进程,这些进程是由shell的实例产生的,其中 jobs 正在运行。因此,在脚本中使用它的作用有限(但对于向脚本用户报告正在发生的事情来说,应该是没有问题的),因为只有在脚本中早先产生的、以其他方式被后台或暂停的事情才会被运行脚本的shell实例所知道。


1
投票

你需要运行一个交互式的shell来处理 jobs 命令来工作--这种方式的作业控制是由用户而不是脚本使用的。

您应该能够使用 jobs -p 命令来获取正在运行的后台任务(job)的pid,这可能会实现你要做的事情。这应该会显示所有子进程的pid,可以单独检查监控。


1
投票

jobs 是一个内置的bash命令(如果你想一想,有一个系统命令来控制从shell启动的工作进程其实并没有什么意义)。你可以通过以下方式找到更多关于该命令的信息。

  • 发出 help jobs 在你的终端
  • 阅读 对应部 bash参考手册中的内容。

0
投票

安装POSIX手册。这个包应该命名为 "manpages-posix-dev "或者类似的名字。


0
投票

我想没有一个linux unix命令叫做 jobs.

两者 which jobssudo apt-get jobs ubuntu上什么也找不到。

如果是本地二进制文件,请检查你的 $PATH 以确保它被包含在内。


0
投票

使用ps命令从shell脚本中找到你的进程。

© www.soinside.com 2019 - 2024. All rights reserved.