ioerror

sleep 사용법 및 옵션 - 지정한 시간 동안 프로세스 실행을 대기(지연)시키는 명령 본문

OS

sleep 사용법 및 옵션 - 지정한 시간 동안 프로세스 실행을 대기(지연)시키는 명령

반응형

sleep - Delay for a specified amount of time

지정한 시간 동안 셸 스크립트나 프로세스의 실행을 일시 정지(대기)시키는 유닉스 및 리눅스 기본 명령어이다. 스크립트 내에서 특정 작업 간의 간격을 두거나, 리소스가 준비될 때까지 대기하거나, 루프(loop) 내에서 주기적인 작업을 수행할 때 활용된다. 백그라운드 프로세스 제어 및 자동화 스크립트 작성을 위한 핵심 명령어로 사용된다.

1. sleep 용도

  • 서버 리소스나 네트워크 서비스가 정상 구동될 때까지 대기 후 다음 명령을 실행하는 상황에서 사용된다.
  • while 또는 for 반복문 내에서 일정 간격으로 상태를 모니터링하거나 반복 작업을 수행할 때 주로 사용된다.

2. sleep 서식

sleep NUMBER[SUFFIX]...

3. sleep 옵션

옵션 / 접미사 설명 사용가능 OS 및 쉘
NUMBER 대기할 시간을 숫자로 지정한다 (단위 미지정 시 기본 단위: 초). 모든 유닉스/리눅스
s 대기 시간 단위를 초(seconds)로 지정한다. GNU Coreutils Linux
m 대기 시간 단위를 분(minutes)으로 지정한다. GNU Coreutils Linux
h 대기 시간 단위를 시간(hours)으로 지정한다. GNU Coreutils Linux
d 대기 시간 단위를 일(days)로 지정한다. GNU Coreutils Linux
소수점 (e.g. 0.5) 1초 미만의 밀리초 단위 대기를 지정한다. GNU Coreutils Linux FreeBSD
--help 명령어 사용법 및 도움말을 출력한다. GNU Coreutils Linux
--version 버전 정보를 출력한다. GNU Coreutils Linux
 
# 5초 동안 대기 후 다음 명령 실행
sleep 5

# 2.5초(소수점 단위) 동안 대기
sleep 2.5

# 1분 30초 동안 대기
sleep 1m 30s

# 반복문 내에서 3초 간격으로 서버 상태 점검
while true; do
    echo "Checking status..."
    sleep 3
done
# Checking status...
# (3초 대기)
# Checking status...
# (3초 대기)
  • Checking status...: 3초 간격으로 화면에 출력되는 상태 확인 메시지이다.
  • sleep 3: 루프가 한번 돌 때마다 3초씩 프로세스 실행을 지연시킨다.

4. sleep 특이사항(유의사항)

  • 전통적인 유닉스(POSIX 표준) sleep은 정수 단위의 초(seconds)만 지원하지만, GNU/리눅스 및 최신 BSD 환경에서는 소수점(e.g., 0.5) 및 단위 접미사(s, m, h, d)를 지원한다. GNU Coreutils Linux
  • 시그널(Signal) 인터럽트 처리: sleep 실행 중 SIGINT(Ctrl+C) 등의 시그널이 전달되면 대기 상태가 즉시 중단되고 프로세스가 종료된다.
  • 셸 내장 명령(Built-in): Zsh, Bash 등 일부 현대 셸은 외부 바이너리(/bin/sleep) 대신 자체 내장 sleep 명령을 제공하며, 이 경우 소수점 지원 동작이 셸 환경에 따라 다를 수 있다. Bash Zsh

관련 명령어들

  • usleep: 미크로초(microseconds, $1/1000000$초) 단위로 대기한다. Linux
  • wait: 백그라운드 작업이 완료될 때까지 대기한다.
  • timeout: 지정된 시간이 지나면 명령을 강제 종료한다. GNU Coreutils Linux
  • cron: 주기적으로 반복되는 작업을 일정에 따라 자동 실행한다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

 

반응형
Comments