리눅스
sleep, wait, timeout 명령어 비교 및 사용법
변군이글루
2024. 11. 13. 10:10
반응형
sleep, wait, timeout 명령어 비교 및 사용법
sleep, wait 그리고 timeout 명령어는 모두 프로세스의 실행을 제어하는 데 사용됩니다.
차이점 요약
명령어 | 용도 | 주요 차이점 |
sleep | 주어진 시간 동안 일시 중지하거나 대기 | 지정된 시간 동안 아무 작업도 하지 않고 대기합니다. |
wait | 백그라운드에서 실행 중인 프로세스가 종료될 때까지 기다림 | 주로 백그라운드 작업의 종료를 기다리는 데 사용됩니다. 종료 상태 코드도 반환 |
timeout | 지정된 시간 동안 명령어 실행 후 종료 | 주어진 시간이 지나면 명령어를 강제로 종료합니다. |
sleep 명령어
용도 : 주어진 시간 동안 프로그램이나 스크립트의 실행을 일시 중지(대기)시키는 데 사용됩니다.
sleep <시간>
- <시간> : 대기할 시간 (초, 분, 시간 등으로 지정 가능)
wait 명령어
용도 : 백그라운드에서 실행 중인 프로세스가 종료될 때까지 기다리는 데 사용됩니다. 지정한 프로세스 ID(PID)에 대한 종료 상태를 기다립니다.
wait [PID]
- [PID] : 기다릴 프로세스 ID (선택적, 지정하지 않으면 모든 백그라운드 작업을 기다립니다).
timeout 명령어
용도 : 명령어가 지정된 시간 내에 완료되지 않으면 강제로 종료하는 데 사용됩니다.
timeout <시간> <명령어> [인수...]
- <시간> : 명령어가 실행될 최대 시간 (초, 분, 시간 등으로 지정 가능)
- <명령어> : 실행할 명령어
사용 예시
sleep 명령어
5초 동안 대기
sleep 5
2분 동안 대기
sleep 2m
3일 동안 대기
sleep 3d
10초 대기 후 메시지 출력
sleep 10 && echo "10초 대기 완료"
wait 명령어
백그라운드에서 5초 대기 후 종료하는 프로세스
sleep 5 & # 백그라운드에서 실행
wait $! # 해당 프로세스가 종료될 때까지 기다림
echo "백그라운드 작업 종료됨"
여러 백그라운드 작업 대기
sleep 5 & # 백그라운드 작업 1
sleep 10 & # 백그라운드 작업 2
wait # 모든 백그라운드 작업이 종료될 때까지 기다림
timeout 명령어
5초 동안만 curl 명령어 실행
timeout 5s curl -I https://www.sangchul.kr
10초 동안만 ping 명령어 실행
timeout 10s ping 8.8.8.8
3초 동안 sleep 명령어 실행하고 초과 시 종료
timeout 3s sleep 5
curl 명령어가 10초 이상 걸리면 종료
timeout -k 15s 10s curl https://www.sangchul.kr
참고URL
- Ubuntu Manuals : sleep
- Ubuntu Manuals : wait
- Ubuntu Manuals : timeout
728x90
반응형