【发布时间】:2020-05-03 00:42:28
【问题描述】:
我有一个正在远程调试的二进制文件,我向该文件发送输入的一种方法是 throw
echo "input" > /proc/pid/fd/0
当我执行上述操作时,二进制文件接收到输入,但我无法模拟按键,这导致我切换到该二进制文件并每次都按 Enter。
这是一个例子
#include <stdio.h>
int main () {
char str[50];
printf("Enter a string : ");
gets(str);
printf("You entered: %s", str);
return(0);
}
当您运行上述程序并使用发送输入时
echo "input" > /proc/pid/fd/0
上面的程序会接收输入但不会按回车键
那么有没有办法使用二进制文件的文件描述符或任何快速的方法来做到这一点?
在我的情况下,keypress 只是输入键
编辑:
echo -en 'input\r' > /proc/pid/fd/0
或
echo -en 'input\x0d' > /proc/pid/fd/0
不会工作,因为终端会认为它是从机发送到输出它不会被发送到从机的标准输入
【问题讨论】:
-
@JosephSible-ReinstateMonica 原来这些并没有解决我的问题
标签: c linux file-descriptor