1
我有一个python脚本,仅当我的服务器可用时才工作。所以在脚本开始之前,我想ping我的服务器,或者检查服务器的可用性。在没有root权限的情况下在Python中Ping服务器
已经有一些相关的SO问题了。 E.g
-
response = pyping.ping('Your IP') if response.ret_code == 0: print("reachable") else: print("unreachable")
-
response = os.system("ping -c 1 " + hostname)
这些答案的效果很好,但只是作为root用户! 当我使用这个解决方案作为一个普通用户,我收到以下错误信息:
ping: Lacking privilege for raw socket.
我需要一个解决方案,我可以做,作为一个普通用户,因为我跑在詹金斯工作这个脚本,并不是以root身份运行的选项。
是否必须是ping?怎么样一个HTTP GET或一个简单的UDP数据包? –
嗯,我没有想过。我想到的第一件事是ping,因此我试图用ping来解决它。它简短而简单。但是,如果有其他解决方案,请在下面将它写为答案。 – Oni1
你为什么要检查可用性?在尝试使用已知端口上运行的某些服务之前,您是否尝试进行快速检查?如果是的话,我宁愿尝试连接到服务,而不是先尝试ping,然后连接到“真实”服务。 –