【发布时间】:2015-06-05 15:10:23
【问题描述】:
我有一个多线程进程,它等待来自标准输入的输入干净地关闭:
//launch worker threads
fgetc(stdin);
run = 0;
//let threads shut down cleanly
从我启动进程的终端,我可以简单地按 ENTER 键,进程就会结束。
但是,如果我尝试从另一个终端写入该进程的标准输入
$ echo "\r" > /proc/<PID>/fd/0
\r 将出现在运行进程的终端屏幕上,但进程仍然挂起
fgetc(stdin);
然后我尝试发送传输结束字符
$echo "\x04" > /proc/<PID>/fd/0
没有运气 - 我做错了什么?
【问题讨论】: