命令"jobs"在终端上不起作用(外壳,bash)



我只是想制作一个简单的脚本,其中包含命令"jobs",但它似乎不起作用,它甚至没有被"man"识别......不知道发生了什么:S。

jobs只会报告运行jobs的 shell 实例生成的后台和/或挂起的进程。因此,在脚本中使用它的用处有限(但对于仅向脚本用户报告正在发生的事情应该没问题),因为只有脚本中较早生成的内容以及后台或以其他方式挂起的内容才会被运行脚本的 shell 实例知道。

您需要运行交互式 shell 才能使 jobs 命令正常工作 - 以这种方式进行作业控制由用户使用,而不是由脚本使用。

您应该能够使用 jobs -p 命令获取正在运行的后台任务(作业)的 pid,这可能会完成您尝试执行的操作。这应该显示子进程的所有pid,可以单独检查/监控。

jobs是一个

内置的bash(如果你想到它,拥有一个控制从shell启动的作业进程的系统命令实际上没有意义)。你将通过以下方式找到有关该命令的详细信息:

  • 在您的终端中签发help jobs
  • 阅读 bash 参考手册中的相应部分。

安装 POSIX 手册页。该包应命名为"manpages-posix-dev"或类似名称。

我不认为有一个名为 jobs 的 linux/unix 命令。

which jobssudo apt-get jobs 在 ubuntu 上都找不到任何东西。

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

使用 ps 命令从 shell 脚本中查找进程

最新更新