如何将后台程序切换到前台显示

7
我正在使用CentOS6,运行一个Django服务器进行开发,使用tmux会话如下所示: python manage.py runserver 0.0.0.0:8000 这样我就可以在上面查看我的调试字符串打印。
但是由于某些未知原因,我的tmux会话丢失了,我无法使用“tmux attach”命令回到我的工作会话中。
我仍然可以通过ps命令找到我的服务器正在运行,但我没有权限杀死它以便在相同的端口上运行新服务器。
所以,我想把这个后台服务器再次变成前台服务器。
由于我从未使用ctrl+z或其他方式将进程置于后台,因此即使我使用jobs命令,也没有作业。
但我不知道是否可以做到这一点,以及如何做到这一点...
感谢大家!

没有工作。我从未使用过<ctrl>+z将我的运行程序放到后台,所以fg无法工作。 - nevesly
很抱歉,我忘记了我的开发环境是在一台虚拟机上运行的,实际上服务器仍然在我的开发电脑上运行。但是我怀疑为什么当我在虚拟机的主机上使用ps命令时,找不到正在运行的服务器信息? - nevesly
2个回答

12

使用jobs命令查找由您启动的后台进程列表。 例如:有一个脚本,简单地在5次迭代中每次休眠10秒。我在后台运行了它4次。

>jobs
[1]  + Running                       ./temp.sh
[2]  - Running                       ./temp.sh
[3]    Running                       ./temp.sh
[4]    Running                       ./temp.sh

fg 命令可将进程前台运行,如下所示。

>fg 1
[CTRL -c]

如上所示,我已经结束了该进程,它不再存在。 现在如果我再次运行jobs

>jobs
[2]  + Running                       ./temp.sh
[3]    Running                       ./temp.sh
[4]  - Running                       ./temp.sh
>

此外,您还可以查看此处的更多内容。


我想,我们只有在进程被故意后台运行时才能将其列在“作业”下。也就是说 - 使用“&”。如果我错了,请纠正我。 - Rajeev Ranjan

1

您可以使用命令jobs来获取您的作业列表,然后您可以使用fg <job编号>将该作业置于前台。


4
没有作业。我从来没有使用<ctrl>+z或其他方式使其在后台运行,因此fg无法工作! - nevesly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接