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