我想知道在Linux上如何通过终端访问或控制其他终端正在运行的进程的步骤。
- 两个终端都属于同一系统。
也许您想要像 reptyr
这样的东西?(https://github.com/nelhage/reptyr)
您只需输入reptyr PID
来“控制”另一个进程(如vim或其他进程)。
编辑:
这个问题提供了更多有关使用screen或类似reptyr工具的信息。
sudo apt-get install reptyr
),但是我能够“重新父进程”或接管已经运行的进程。比起screen更好,因为该进程无需使用任何特殊方法启动(我在桌面上启动它,然后通过另一系统的SSH终端接管它)。 - Jonathanscreen -dR test
启动屏幕并按下 Enter,您将在屏幕内获得 shell。screen -x test
进入现有屏幕现在您应该能够看到在第一个终端上运行的进程,并完全控制该进程。
您可以深入了解 screen 实用程序...它是任何系统管理员非常有用的工具。
希望以上提示对您有所帮助。
我们在谈论SSH吗?如果是这样...
SSH到运行进程的主机:
ssh user@host
然后要查看主机上正在运行的进程,请键入:
ps aux | less
获得控制?不太确定这是什么意思,但我会列出一些简单的命令。
按“用户名”查看进程
ps -u userName
查找进程
pgrep firefox
结束一个进程
例如:
pidof firefox
输出:(您的编号将不同。)
2786
现在结束:
kill 2786
高级
以树形结构显示正在运行的进程。
pstree
可能会对atop感兴趣。
atop
我知道这是一个旧的帖子。但是如果你想要一个Linux tty的副本,你可以使用conspyhttp://linux.die.net/man/1/conspy。它很小并且很容易编译,如果它还没有在你的发行版中。
screen
,如abhi_ksd所描述的那样。 - salva