linux – 使用命令行捕获进程启动后的STDIN / STDERR / STDOUT?

谢谢!我的用户案例:我开始了一个冗长的交互式“配置”过程(比如在’屏幕’下),然后意识到我需要总是回答’不’,直到我看到一个特定的关键字.手动执行此操作似乎浪费时间(并不是说我很容易错过关键字..)

因此,似乎我想将STDERR / STDOUT管道(副本)传递给过滤器,
并且还能够注入(控制台)进程的STDIN,
它启动后,使用命令行?有现成的解决方案吗?

以下工具似乎有所帮助.要捕获输出,请使用

strace -ewrite -p $PID

这不是那么干净(显示如下行:写(#,)),但有效!
但它是否说正确处理UTF8?

重定向输出,请执行类似的操作

printf '..input..' >/dev/pts/33

但目前尚不清楚如何找到合适的设备..

解决方法

解决了Linux(显然是Linux特定的):
reptyr -s PID

将进程附加到另一个终端和/或将其输入和输出作为管道公开.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...