启动进程并稍后访问“shell”

启动进程并稍后访问“shell”

我有一台远程测试机器,遇到一些故障。我想做的是gdb在远程计算机上发生故障时触发一个进程,然后ssh进入远程计算机并访问现有gdb进程。有没有办法在给定sudo特权和进程 pid 的情况下将现有进程“重新安置”到我当前的 shell 中?或者类似的东西;需要明确的是,我的目标是拥有完整的stdin/stdout访问权限,就像我刚刚从终端启动该过程一样

答案1

您想要的工具是screentmux。我更喜欢screen。 (我认为这会重复,但我找不到相关的。)

登录到远程系统,然后启动屏幕

screen

您将获得一个新的 shell,现在您可以启动您的 gdb 进程。用于Ctrl ACtrl D从会话中分离并注销。

稍后您可以重新连接。重新登录到远程系统

screen -r                  # Reattach to a single detached screen

其他一些简单但有用的选项

screen -ls                 # List the available screens (detached or attached)
screen -S sessionname      # Create a new screen session with identifier "sessionname"
screen -r <identifier>     # Reattach to a named detached screen
screen -dr <identifier>    # Forcibly detach an attached screen and attach to it

相关内容