"리눅스 무한반복 스크립트 repeat.sh"의 두 판 사이의 차이

태그: 되돌려진 기여
11번째 줄: 11번째 줄:
done
done
</syntaxhighlight>
</syntaxhighlight>
* 위의 코드는 `true` 조건이 항상 참이므로, 루프가 무한히 반복된다.
위의 코드는 `true` 조건이 항상 참이므로, 루프가 무한히 반복된다. 필요에 따라 루프 내용을 추가하고 실행할 코드를 작성할 수 있다. 루프를 중지하려면 CTRL+C 키를 눌러 프로세스를 중지한다.
* 필요에 따라 루프 내용을 추가하고 실행할 코드를 작성할 수 있다.
* 루프를 중지하려면 CTRL+C 키를 눌러 프로세스를 중지한다.


<syntaxhighlight lang='bash'>
<syntaxhighlight lang='bash'>

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 }}