关于管道的一个程序

Tony_Xian 2017-07-16 05:38:40



请问执行程序后,为什么会出现光标停在那里闪烁,不会直接跳到用户命令行输入?
...全文
256 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jklinux 2017-08-16
  • 打赏
  • 举报
回复
引用 楼主 boiled_water123 的回复:
请问执行程序后,为什么会出现光标停在那里闪烁,不会直接跳到用户命令行输入?
管道没有接收方时,写到管道时就会堵塞的。 代码里是没有办法确定让子进程先跑,也就是管道没有读,当父进程写数据到管道时就有可能堵塞了。 可以在父进程的write函数调用前sleep一下,让子进程先执行起来,接收管道数据。
zhangbin-eos 2017-08-16
  • 打赏
  • 举报
回复
引用 2 楼 boiled_water123 的回复:
[quote=引用 1 楼 qq_24276421 的回复:] 你在写管道之后睡1s试试,是不是写完进程就退出了呢
请问为什么睡1s就能跳到命令行输入,不睡1s就会光标在哪里闪烁呢?[/quote] 我猜的哈,是不是写线程退出了,导致了整个进程退出,所以你来不及输入
Tony_Xian 2017-07-16
  • 打赏
  • 举报
回复
引用 1 楼 qq_24276421 的回复:
你在写管道之后睡1s试试,是不是写完进程就退出了呢
请问为什么睡1s就能跳到命令行输入,不睡1s就会光标在哪里闪烁呢?
zhangbin-eos 2017-07-16
  • 打赏
  • 举报
回复
你在写管道之后睡1s试试,是不是写完进程就退出了呢

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧