У меня есть скрипт python, который работает только в том случае, если доступен мой сервер. Поэтому, прежде чем скрипт начнется, я хочу выполнить ping-сервер или, вернее, проверить доступность сервера.Ping-сервер в Python без прав root
Есть уже некоторые связанные вопросы.
например-
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.
Должен ли быть пинг? Как насчет HTTP GET или простого пакета UDP? –
Хм, я об этом не думал. Первое, что приходит мне в голову, это pinging, поэтому я пытаюсь решить это с помощью ping. И это коротко и просто. Но если у вас есть другое решение, вы можете написать его как ответ ниже, пожалуйста. – Oni1
Почему вы пытаетесь проверить доступность? Вы пытаетесь выполнить быструю проверку, прежде чем пытаться использовать какой-либо сервис, запущенный на нем на известном порту? Если да, я предпочел бы попробовать подключиться к службе вместо того, чтобы пытаться выполнить ее сначала, а затем подключиться к «реальному» сервису. –