티스토리 뷰

Python3 기준입니다.

 

python module중에  os라는 모듈은 shell에 대한 명령줄을 그대로 입력할 수 있게 해줍니다.

별도 Shell 지정이 되지 않는다면 환경변수에 설정된 Shell로 기본 실행됩니다. 여기서는 bash로 되어 있습니다.

 

 

<Python3 code>

#!/usr/bin/env python3

import os

hostname = ('8.8.8.8', '1.2.3.4', '8.8.4.4')

#os.system("clear")
for test in hostname:
        ping_check = os.system("ping -c 1 -W 1 " + test + "> /dev/null")
        if ping_check == 0:
                print(test, "is up!")
        else:
                print(test, "is down!")

 

이 코드에서 중요한 포인트 4가지만 확인하겠습니다.

1. tuple을 이용해 hostname에 대입하여 진행하였습니다. IP들은 문자열로 묶었습니다. 물론, List나 dictionary로도 가능하고, 리터럴로 묶으셔도 가능합니다.
2. for 문을 이용하여 등록된 튜플을 Loop하였습니다.

3. ping 결과값을 /dev/null로 보내어 삭제하는 대신 4번과정을 통해 stdout을 구현하였습니다.

4. if문과 exit코드를 이용하여 성공과 성공이외를 구분하여 사용자에게 출력하였습니다. ( 신뢰성 )

 

<Result>

root$ ./mping3.py
8.8.8.8 is up!
1.2.3.4 is down!
8.8.4.4 is up!
root$

 

위와 동일한 버전에 대한 bash 버전은 아래 링크에 있습니다.

https://devopsnet.tistory.com/29

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함