【发布时间】:2016-05-24 21:49:09
【问题描述】:
我一直在尝试将数据发送到正在运行的进程的标准输入。这是我的工作:
-
在终端中,我启动了一个 c++ 程序,它只是读取一个字符串并打印它。代码摘录:
while (true) { cin >> s; cout << "I've just read " << s << endl; } 我得到了正在运行的程序的PID
- 我去
/proc/PID/fd/ - 我执行
echo text > 0
结果:text 出现在程序运行的终端中。请注意,不是I've just read text,而只是text。
我做错了什么,我应该怎么做才能让这个东西打印'I've just read text'?
【问题讨论】:
-
如何从 shell 执行程序?您是否将其作为后台进程运行?
-
不,我只是在前台运行。它有什么改变吗?