linux命令'jobs'似乎会显示运行后台的命令。我输入的类似“emacs&”然后“工作”我可以看到它。但如果我在其他终端输入“工作”,那么事实证明没有工作背景。
在不同的终端,键入“>历史”,他们显示不同的结果。为什么呢?
我试图“工作”,但没有关于工作的手册。
答案 0 :(得分:4)
“jobs
”,“bg
”,“fg
”,“kill
”,“wait
”等命令都是内置shell用于作业控制的命令,仅与当前正在运行的shell相关。请参阅:http://linuxcommand.org/lts0080.php
当您连接到 pts / 3 时,您在该终端中运行一个shell(例如 bash )并获得命令提示符,并且可以启动进程,输入命令等。
当您连接到 pts / 5 时,您在该终端中运行另一个shell(也是 bash ),然后您会收到另一个命令提示符可以启动进程并运行命令等。
它们是不同的bash进程,每个进程都有自己的命令历史记录和作业。这就是为什么你无法在另一个bash过程中看到后台进程的原因。它们是两个独立的运行bash进程。
答案 1 :(得分:0)
在'man bash'中讨论了工作。每个bash会话都有自己的历史记录。如果'jobs'没有显示后台进程,那么bash进程就没有了。