文章目錄

在项目中,有一个需求是分配IP,在分配之前,需要判断IP是否已经被使用,也就是判断是否能PING通。

因为使用的开发语音是Python,于是想到使用Python的ping库,但发现需要root权限。之后又想到通过subprocess调用ping命令,能满足需求,但是因为一次需要分配多个IP,于是需要并发执行,这样就需要使用多进程或者多线程,于是暂时先放着。

后来同事说可以使用fping, 因为它支持多个IP地址同时ping, 然后返回可以ping通的IP地址,正好满足这个需求。

查了fping的帮助, 加上-a和-A参数,一个简单的例子如
fping -aA 115.239.210.27 115.236.139.174

现在想来,很多时候工程实践能减少代码的编写就减少,这个场景使用fping这种工具,就是将需要编写的并发代码交给了工具完成。

文章目錄