1

linux命令'jobs'似乎会显示后台运行的命令。我输入“emacs &”,然后输入“jobs”,我可以看到它。但是,如果我在其他终端输入“工作”,结果证明没有工作背景。在不同的终端中,输入“历史”会显示不同的结果。为什么?
我尝试“做人”,但没有关于工作的手册。

4

2 回答 2

4

jobs”、“ bg”、“ fg”、“ kill”、“ wait”等命令都是用于作业控制的内置 shell 命令,只与当前运行的 shell 相关。见: http: //linuxcommand.org/lts0080.php

  • 当您连接到pts/3时,您会在该终端中运行一个 shell(例如bash)并获得一个命令提示符,并且可以启动进程、输入命令等。

  • 当您连接到pts/5时,您会在该终端中运行另一个 shell(也是bash),并获得另一个命令提示符,您可以在其中启动进程并运行命令等。

它们是不同的 bash 进程,每个进程都有自己的命令历史记录和作业。这就是为什么您无法从另一个 bash 进程中看到后台进程的原因。它们是两个独立的运行 bash 进程。

于 2013-10-01T16:06:46.017 回答
0

工作在“man bash”中讨论。每个 bash 会话都有自己的历史。如果“jobs”没有显示后台进程,那么该 bash 进程就没有后台进程。

于 2013-10-01T16:03:23.590 回答