리눅스 무한반복 스크립트 repeat.sh

Jmnote (토론 | 기여)님의 2024년 3월 20일 (수) 11:04 판 (→‎개요)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요[ | ]

bash 무한반복 루프문
무한반복 리눅스 스크립트
bash 무한반복 스크립트
리눅스 무한반복 스크립트
리눅스 스크립트 백그라운드 실행
while true; do
  # 반복 수행할 내용 기입
done
  • 위의 코드는 `true` 조건이 항상 참이므로, 루프가 무한히 반복된다.
  • 필요에 따라 루프 내용을 추가하고 실행할 코드를 작성할 수 있다.
  • 루프를 중지하려면 CTRL+C 키를 눌러 프로세스를 중지한다.
while true; do
  date
  sleep 1
done
while true; do date; sleep 1; done
while :;do date;sleep 1;done

2 실습 1: repeat.sh[ | ]

2.1 포어그라운드 실행[ | ]

스크립트 생성 및 확인
[root@zetawiki ~]# echo 'while true; do sleep 1; done' > repeat.sh
[root@zetawiki ~]# cat repeat.sh
#!/bin/bash
while true; do sleep 1; done
스크립트 실행
[root@zetawiki ~]# sh repeat.sh

Ctrl+C를 눌러 중지.

2.2 백그라운드 실행[ | ]

스크립트 백그라운드 실행. 여러 번 실행 가능.
[root@zetawiki ~]# sh repeat.sh &
[1] 11840
[root@zetawiki ~]# sh repeat.sh &
[2] 11955
[root@zetawiki ~]# sh repeat.sh &
[3] 11959
→ 백그라운드로는 프로세스를 여러개 생성할 수 있다.
→ repeat.sh 프로세스 3개가 백그라운드로 실행되고 있으며 프로세스ID는 11840, 11955, 11959이다.
재확인
[root@zetawiki ~]# ps -ef | grep repeat.sh | grep -v grep
root     11840  9100  0 15:14 pts/20   00:00:00 sh repeat.sh
root     11955  9100  0 15:15 pts/20   00:00:00 sh repeat.sh
root     11959  9100  0 15:15 pts/20   00:00:00 sh repeat.sh
백그라운드 프로세스 중지
[root@zetawiki ~]# ps -ef | grep repeat.sh | grep -v grep
root     11840  9100  0 15:14 pts/20   00:00:00 sh repeat.sh
root     11955  9100  0 15:15 pts/20   00:00:00 sh repeat.sh
root     11959  9100  0 15:15 pts/20   00:00:00 sh repeat.sh
[root@zetawiki ~]# kill 11840 11955 11959
[1]   종료됨                  sh repeat.sh
[2]-  종료됨                  sh repeat.sh
[3]+  종료됨                  sh repeat.sh
[root@zetawiki ~]# ps -ef | grep repeat.sh | grep -v grep
→ kill 직후에 종료되었다고 알려 준다.
→ ps로 확인해보면 결과가 없다.

3 실습 2: sleep[ | ]

포어그라운드 실행

999999일[1] 동안 sleep

[root@zetawiki ~]# sleep 999999d
^C
백그라운드 실행
[root@zetawiki ~]# sleep 999999d &
[1] 2647
[root@zetawiki ~]#
[root@zetawiki ~]# kill -9 2647
[root@zetawiki ~]# 
[1]+  Killed                  sleep 999999d
[root@zetawiki ~]#

4 같이 보기[ | ]

5 참고[ | ]

  1. 2739년
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}