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,然後連接到「真實」服務。 –