본문 바로가기
운영체제 OS

리눅스 Background 실행

by 까망 하르방 2023. 11. 26.
반응형

리눅스 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를 누르면 된다.

 

반응형

댓글