在 Linux 上,在终端 A 中前台执行的进程,如何在终端 B 中掉到前台来执行?

2021-09-22 19:51:03 +08:00
 liuguangxuan

假设我有一个可执行程序 a.out ,两个终端分别为终端 A 、终端 B 。

现在我在终端 A 前台执行程序./a.out ,我如何不操作终端 A 、只操作终端 B,并且不结束 a.out 进程的情况下,让 a.out 在终端 B 中前台执行?

3770 次点击
所在节点    Linux
21 条回复
IgniteWhite
2021-09-22 19:52:42 +08:00
tmux 了解一下
hanxiV2EX
2021-09-22 19:53:02 +08:00
只想到了 tmux,让 A 和 B 都在 tmux 里跑
fullpowers
2021-09-22 20:01:29 +08:00
screen
nanmu42
2021-09-22 20:15:38 +08:00
liuguangxuan
2021-09-22 20:25:01 +08:00
@IgniteWhite
@hanxiV2EX
@fullpowers 感谢三位老哥,tmux 只能事先跑在里面。我这个是已经执行的进程。

@nanmu42 感谢大佬,这个正是我要找的。
IgniteWhite
2021-09-22 20:33:14 +08:00
@nanmu42 cool
leo2n
2021-09-22 21:08:35 +08:00
@nanmu42 👍
fox0001
2021-09-22 23:09:18 +08:00
@nanmu42 #4 神奇!
mingl0280
2021-09-23 00:53:44 +08:00
tail -f /proc/<pid>/1
mingl0280
2021-09-23 00:54:02 +08:00
打错了
tail -f /proc/<pid>/fd/1
wangyu17455
2021-09-23 07:51:16 +08:00
screen
BrookO
2021-09-23 09:17:12 +08:00
@nanmu42 还有这么神奇的东西!!!
pythonee
2021-09-23 09:23:04 +08:00
@nanmu42 神奇
好奇这个主要用在什么地方呢?
vhysug01
2021-09-23 09:50:34 +08:00
@mingl0280 感觉原理没错,但是没有输出呀,老哥
2i2Re2PLMaDnghL
2021-09-23 10:23:07 +08:00
@mingl0280 不行,你只能并入输出不能截取输出
比如如果你 yes > /dev/null 的话,你会发现 /proc/<pid>/fd/1 是指向 /dev/null 的符号链接
终端的话是指向 /dev/tty<n> 或 /dev/pts/<n> 的符号链接,你尝试打开并读取不会得到其他进程的输出。
wangyzj
2021-09-23 10:24:50 +08:00
screen
Loku
2021-09-23 10:52:51 +08:00
screen +1
RobberPhex
2021-09-23 11:42:46 +08:00
可以试一下 reptyr
t123yh
2021-09-23 14:37:45 +08:00
reptyr +1
mingl0280
2021-09-23 15:13:08 +08:00
@2i2Re2PLMaDnghL 这个确实,没法整。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/803471

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX