如何在 Linux shell 中重新夺回对单独进程的控制权?

如何在 Linux shell 中重新夺回对单独进程的控制权?

我刚刚在我的 VPS 上为我的兄弟设置了一个 Minecraft 服务器,并使用 bash 脚本运行它:
sh ./server.sh&

这样,服务器就可以运行了,我仍然可以使用 putty 在同一个命令行上工作。但是,如果我想向 Minecraft 服务器输入命令怎么办?我该如何在控制台屏幕上重新显示它:
[10:17:23] [Server thread/INFO]: Starting minecraft server version 1.7.10 [10:17:23] [Server thread/INFO]: Loading properties [10:17:23] [Server thread/INFO]: Default game type: SURVIVAL [10:17:23] [Server thread/INFO]: Generating keypair [10:17:24] [Server thread/INFO]: Starting Minecraft server on *:25565 [10:17:24] [Server thread/INFO]: Preparing level "world" [10:17:24] [Server thread/INFO]: Preparing start region for level 0 [10:17:25] [Server thread/INFO]: Preparing spawn area: 52% [10:17:26] [Server thread/INFO]: Preparing spawn area: 99% [10:17:26] [Server thread/INFO]: Done (2.132s)! For help, type "help" or "?" <input line>

答案1

我会选择屏幕。可以通过 apt-get 进行安装。之后,您只需输入screen提示符,启动一个进程(甚至不将其发送到后台),关闭会话,进程仍会继续运行。要重新连接到屏幕会话,只需 ssh 返回机器并输入。您也可以通过按,然后按 ,screen -r从活动屏幕分离。CTRL+ACTRL+D

答案2

如何将后台作业转移到前台?

使用fg

韋克

将作业发送到前台

句法

fg [PID...]

选项

如果指定了 PID,则具有指定组 ID 的作业将放在前台。

将指定的作业发送到前台。执行前台作业时,fish 将被暂停。如果没有指定作业,则将最后使用的作业放在前台。

通常使用进程扩展来找到所需进程的 PID。

例子

将作业 ID 为 0 的作业放在前台:

%0 复制代码

来源fg 将作业发送到前台

相关内容