答案1
&
命令末尾的字符,无论其前面是否有空格,都将启动后台进程(有时也称为异步过程因为 shell 在执行下一个命令之前不会等待它终止)。
top
作为后台进程运行没有什么意义,因为默认情况下它是一个交互式程序。这也是为什么Stopped
一旦后台top
尝试与用户交互(它不能,因为它没有连接到控制终端),您就会在终端中看到文本。
在我的系统上,我收到一条更具描述性的消息:
[1] + Stopped (tty output) top
意思是“top
尝试向终端写入一些内容,但无法写入,因此已暂时停止”。
要将背景移动top
到前景,请使用fg
。
在这种情况下,你有二后台top
进程正在运行。要使第一个前景化,请使用fg %1
.要将第二个前景化,请使用fg %2
.
%1
和中的数字%2
是作业 ID 或作业规范。这些对应于您启动后台作业时显示的方括号中的数字。
有关的:
...以及与此相关的其他问题工作控制标签。
答案2
top&
并top &
做同样的事情。
它们都会将 top 作为后台任务运行(在 top 的情况下不是很有用)
在您的屏幕截图中,这显示为[1] 4679
,您可以使用 将进程置于前台fg 1
。
您可以阅读有关该主题的更多信息这里
答案3
首先,top& 和top & 是一样的,& 用于在后台运行进程。 top 和 top& 或 top & 之间的唯一区别是简单 top 将作为屏幕上的进程运行,而 top& 或 top & 将作为后台进程运行。
答案4
我尝试了 top& then fg %1 命令,但我不断收到 top: failed tty set error: Interrupted system call 错误。我是新来的,这只是我正在做的一个练习,我找不到任何解决方案,因为我什至不完全理解错误是什么。