是否可以使用shell命令关闭套接字?

Modified on: Fri, 23 Aug 2019 21:00:02 +0800

是否可以通过使用某种shell命令/程序来关闭套接字?我见过很多使用C语言和其他语言操作套接字的例子,但是找不到专用的程序。

这主要是出于好奇而不是真正的需要。虽然对我的应用程序进行压力测试或关闭我不想打开的tcp套接字可能很有用。

我主要对Linux / Unix感兴趣,但在Windows上执行此操作的方法也不错。

最佳答案

您可以像其他任何文件一样在sh中关闭套接字:exec 42>&-其中42是文件描述符。你不能做什么(除了在一些提供扩展的shell中)是打开一个套接字。但是当然会关闭shell中的套接字,而不是在另一个进程中。

在正在运行的进程中关闭套接字会以程序作者不应该期望的方式破坏其行为 - 就像进入并修改一块内存一样。仍然可以通过使用调试器连接到进程并使其执行套接字关闭API调用(即unix上的closeshutdown系统调用)来完成。

作者:Gilles

相关问答

添加新评论