我曾经使用exec 3<>/dev/tcp/192.168.0.101/6435192.168.0.101:6435建立TCP连接。而且我已经收到并通过pipe命令发送了一些消息。
现在,我要终止TCP连接。但是,ss -anpet从中我可以看到bash本身保持了此连接,而没有派生子进程。
我试图将信号9和15发送到bash进程,但是如您所知,bash无法杀死自己。
因此,我可以在不终止正在使用的pt的情况下终止已建立的TCP连接(既不通过root杀死它也不发送Ctrl + D)吗?
bash当然可以杀死自己-尽管这实际上不是您想要在这里做的!
@TJM使这个引人入胜的问题对其他人更有用,请您详细说明
—
arielf
pipe您正在使用的命令,而我在系统上找不到该命令?哪个包裹pipe来自?您可以传递哪些(示例)参数以通过/dev/tcp/...连接发送/接收数据?谢谢。
@arielf通常,我是计算机科学的初学者,我从名为sedbot的bash shell脚本中发现了这种用法,您可以在Github上找到它。是的,我在中找不到任何文件
—
TJM
/dev/tcp,甚至找不到/dev/tcp自身。但是,您似乎可以通过pipe这种文件发送/接收数据,这是一种特殊用法。据说/dev/tcp/ip/port用于tcp连接和/dev/udp/ip/portudp软件包。由于我的英语不是很好,我不知道如何正确解释它。请随时编辑问题并发布答案。
@TJM谢谢。问题是关于
—
arielf
pipe您提到的命令。我看着https://github.com/clsr/sedbot/blob/master/sedbot.bash。那里没有pipe命令。它定义了两个功能:readmsg和sendmsg分别从连接读取/向连接写入。readmsg用于IFS= read -r -u 3 -t "$READ_TIMEOUT" line从文件描述符3读取到变量line,并sendmsg用于echo "$(date +%s.%N) >>> $line" >&4写入文件描述符4。无论如何,这阐明了full方法。pipe对于读者来说,“ 命令”的提及仍然是个谜。
bash用那个炮弹杀死吗?