加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用与直接写入相同的效果/行为写入正在运行的进程的st

发布时间:2020-12-13 18:23:01 所属栏目:Linux 来源:网络整理
导读:这个 post只回答了我的部分问题.我的问题是使用/ proc文件系统上的进程FD写入正在运行的进程的标准输入不具有相同的效果. 问题: 启动nc以侦听端口10000(此过程称为进一步的nc 1) nc -l 10000 启动另一个nc将chars发送到监听nc(这将是nc 2) nc localhost 100
这个 post只回答了我的部分问题.我的问题是使用/ proc文件系统上的进程FD写入正在运行的进程的标准输入不具有相同的效果.

问题:

>启动nc以侦听端口10000(此过程称为进一步的nc 1)

nc -l 10000

>启动另一个nc将chars发送到监听nc(这将是nc 2)

nc localhost 10000

>写入nc 2上的stdin

echo "some chars here" >> /proc/[PID-nc-2]/fd/0

问题:“这里的一些字符”没有听到nc(nc 1),但是在nc 2的控制台上显示了.

题:
为什么并且有可能使这个工作?

解决方法

这不能按预期工作,因为/ proc /< PID> / fd / 0不是管道.如果您调用发送方并将其stdin连接到管道,它将起作用

在接收主机上

nc -l 10000

在发送主机上

mkfifo my.fifo
cat >my.fifo &
cat my.fifo | nc remotehost.tld 10000

现在你可以

echo "Hello World" >my.fifo
myprog >my.fifo

请注意,cat> my.fifo需要保持fifo打开,否则会发送EOF并且连接过早关闭.要关闭连接,您需要杀死保持fifo打开的cat进程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读