함수를 활용해서 쉘스크립트안에서 멀티 스레드와 백그라운드를 구현하는 방법에 대해 알아보도록 하겠습니다. 사실 제가 쉘 스크립트를 사용하면서 다른 언어와 비교했을 때 가장 편하다고 생각했던 부분입니다.
리눅스에서는 command 뒤에 '&'를 붙이게 되면 백그라운드로 동작하게 되고 리눅스의 예약어 $!로 해당 PID 값을 갖고 있게 되면 그 프로세스를 제어할 수 있습니다. 일단 샘플 코드와 수행 결과 값을 확인해 보겠습니다.
#!/bin/bash THREAD()
echo "CALL 1st thread - Background Operating"
|
root@ubuntu:/shell# ./multi.sh |
파란색으로 및줄친 부분이 백그라운드 및 멀티스레드의 핵심적인 요소 입니다. 해당 구문에 백그라운드로 돌리고 해당 프로세스의 PID값을 저장하고 순차적으로 하나의 스레드를 추가로 생성하고 마지막에는 스레드를 종료하고 마치게 되는 구조 입니다.
'리눅스 쉘 스크립트' 카테고리의 다른 글
쉘 스크립트 - 문자열 : 정규표현식- 개요와 메타문자 (1) (0) | 2017.11.19 |
---|---|
쉘 스크립트 - 문자열 (기초편) : cut, grep, awk (0) | 2017.11.15 |
쉘 스크립트 - 함수 (1) : 선언과 활용 (0) | 2017.11.08 |
쉘 스크립트의 알아두면 쓸모있는 환경변수(예약어) (0) | 2017.11.05 |
쉘 스크립트의 인자를 보다 세련되게 (getopt) (1) | 2017.10.29 |