Centos:在本地控制台上恢复远程任务

Centos:在本地控制台上恢复远程任务

是否可以在远程会话中暂停任务并在服务器控制台上恢复它?例如,通过在远程会话窗口(putty 内)中按 Ctrl+Z 并fg 1在服务器控制台/桌面停止中运行。

答案1

如果我明白你的期望,你应该能够使用屏幕

screen 的大图是它创建了一个虚拟终端,您可以将其附加到其他终端或将其分离。假设你已经安装了 screen(screen我相信 CentOS 中的包名称就是这样),这是你可以使用它的一种方法:

  1. 使用 Putty 或其他 SSH 客户端远程连接到您的计算机。
  2. 开始screen。这将创建一个虚拟终端,它看起来应该与您已经看到的基本相同。
  3. 开始你的任务。
  4. 如果您愿意,可以使用 Ctrl+Z 将其设置为背景,但这不是必需的。即使您分离,应用程序也将继续运行。
  5. 使用 分离当前终端Ctrl+a d。可能感觉你刚刚杀了一些东西,但你并没有。
  6. 只是为了看看这是如何工作的,请继续运行screen -r。这将重新连接您的会话,并将您带回到分离之前的位置。现在Ctrl+a d再次使用来分离。
  7. 这很好,但您感兴趣的是从单独的终端会话进行连接。这工作原理完全相同。断开 SSH 连接并screen -r从本地终端运行。这应该重新连接您的屏幕会话,并且您的任务应该仍在运行。

请注意,这仅在您一开始就在屏幕中运行应用程序时对您有帮助。我还没有描述如何使用已经在屏幕外运行的进程来执行此操作。

你可以使用做同样的事情多路复用器,但我描述了如何使用屏幕来做到这一点,只是因为它更旧且更常见。

相关内容