打开现有流程

打开现有流程

我在 Linux 中通过远程连接 (xrdp) 使用 Eclipse。我的互联网断开了,因此在 Eclipse 运行时我与服务器断开了连接。

现在我再次登录,并执行“top”命令,我可以看到 eclipse 正在运行并且仍然使用我的用户名。

有什么方法可以让我将该进程重新带回到我的视图中(我不想终止它,因为我正在检查大量代码)?我再次登录后,它没有显示在底部面板上。

这是“顶部”输出:

/home/mclouti% top
top - 08:32:31 up 43 days, 13:06, 29 users,  load average: 0.56, 0.79, 0.82
Tasks: 447 total,   1 running, 446 sleeping,   0 stopped,   0 zombie
Cpu(s):  6.0%us,  0.7%sy,  0.0%ni, 92.1%id,  1.1%wa,  0.1%hi,  0.1%si,  0.0%st
Mem:   3107364k total,  2975852k used,   131512k free,    35756k buffers
Swap:  2031608k total,    59860k used,  1971748k free,   817816k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
13415 mclouti   15   0  964m 333m  31m S 21.2 11.0  83:12.96 eclipse
16040 mclouti   15   0  2608 1348  888 R  0.7  0.0   0:00.12 top
31395 mclouti   15   0 29072  20m 8524 S  0.7  0.7 611:08.08 Xvnc
 2583 root      20   0  898m 2652 1056 S  0.3  0.1 139:26.82 automount
28990 postgres  15   0 13564  868  304 S  0.3  0.0  26:33.36 postgres
28995 postgres  16   0 13808 1248  300 S  0.3  0.0   6:54.95 postgres
31440 mclouti   15   0  3072 1592 1036 S  0.3  0.1   6:01.54 gam_server
    1 root      15   0  2072  524  496 S  0.0  0.0   0:03.00 init
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:04.53 migration/0
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.04 ksoftirqd/0
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:01.72 migration/1
    6 root      34  19     0    0    0 S  0.0  0.0   0:00.07 ksoftirqd/1
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:04.33 migration/2
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.05 ksoftirqd/2

答案1

您似乎正在 Xvnc 上运行 X 会话。如果正确,您只需重新连接到 vnc 服务,就像之前所做的那样。

答案2

我不使用 xrdp,但 Eclypse 可能在不同的 X 显示器上运行。如果您的客户端不允许您重新连接到现有显示器,而是创建一个新显示器(和新会话),您可以使用 x11vnc ( apt-get install x11vnc) 使用 VNC“连接”到已经运行的 X 服务器(无论何种类型),从而获得所需的结果。使用 ssh 登录后,在运行 Eclypse 的机器(“远程主机”)上运行此命令:

x11vnc -passwd somepassword -display :0

然后,在您的当前位置:

vncviewer remotehost:0

如果不起作用,请尝试 :1、:2 等。这假设您可以访问 的每个端口remotehost。如果不能,您可能必须使用 ssh 隧道将端口 5900 转发给显示器 :0,将 5901 转发给显示器 :1,依此类推:

ssh -L 5900:localhost:5900 remotehost

进而:

vncviewer localhost:0

答案3

如果不执行该进程screen或类似的实用程序,您将无法使用常规方法重新连接该进程。

不过,似乎有人编写了一些软件来执行此操作。请参阅:我可以 nohup/screen 一个已经启动的进程吗?

相关内容