티스토리 뷰
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 버전은 아래 링크에 있습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- HTTP
- 802.3ad
- Windows
- bash
- date 시간 변경
- iso8601
- 802.1ax
- vtep
- dns 동작 방식
- tag
- http/1.0
- 윈도우
- data plane
- dns 동작
- link aggregation
- docker logs
- VXLAN
- date 과거
- HTTP/1.1
- vni
- head end replication
- date 미래
- ssh
- multiple ping
- Switch
- date 시간 지정
- http/0.9
- ping multi
- ping
- vlan
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함