반응형
리눅스 Background 실행
sh 파일을 백그라운드로 돌리고 싶은 경우
명령어 뒤에 "&" 붙이면 된다.
$ ./test.sh &
백그라운드 실행을 통해서 터미널창을 종료할 수도 있고
불필요한 내용을 보지 않아도 된다.
[예시 코드]
#!/bin/bash
log_file="./log.txt"
echo "-- Start --" > "$log_file"
count=0
limit=10
while [ $count -lt $limit ]; do
# for terminal
echo "$count"
# for log file
echo "$count" >> "$log_file"
sleep 1
((count++))
done
echo "-- Done! --" >> "$log_file"
1초 간격으로 count 값을 출력하고
log.txt 파일에 로그를 남긴다.
(중간에 터미널을 종료해도 log.txt 파일에는 끝까지 수행됨)
만약 백그라운드 작업이 중간에 터미널을 종료하면
중간까지만 count 된 것을 확인할 수 있다.
$ ./test.sh
📌 백그라운드 실행 확인 방법
📍 작업 리스트 확인
$ jobs
$ ps -ef | grep test.sh
참고로, 작업 강제 종료는 아래 명령어를 수행하면 된다.
$ kill -9 {작업 ID}
📍 파일 변경 내역 실시간 모니터링
$ tail -f log.txt
tail 명령어는 파일의 끝 부분을 보여주는데
-f 옵션을 사용하면 파일의 변경을 실시간으로 모니터링할 수 있다
이를 종료하려면 Ctrl + C를 누르면 된다.
반응형
'운영체제 OS' 카테고리의 다른 글
[운영체제] 스핀락 / 뮤텍스 / 세마포어 (0) | 2024.11.11 |
---|---|
[쉘스크립트] 리눅스 파일 비교 (4) | 2023.11.24 |
[Linux] 쉘스크립트에서 함수 리턴 해보기 (1) | 2023.09.13 |
[Linux] 쉘스크립트 Shift 명령어 (0) | 2023.08.27 |
리눅스 우분투(ubuntu)에서 LTS란? (0) | 2021.06.05 |
댓글