SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
[5분 따라하기]
bash 타임아웃 패턴
박재호(jrogue@gmail.com)
참고 자료
• <컴퓨터 vs 책> 블로그
• http://jhrogue.blogspot.com/
• OKdevTV 유튜브 방송
• 5분 따라하기 리스트:
• https://www.youtube.com/playlist?list=PLdntWJk2tJPLKNNYBVCxnde2PEB6d
zbSL
• 슬라이드 셰어
• https://www.slideshare.net/jrogue/presentations
• ASCIINEMA
• https://asciinema.org/~jrogue
오늘 소개할 내용
• 배시(bash) 셸 스크립트에서 타임아웃을 걸 수 없을까?
• 실행이 오래 걸리는 작업을 무작정 기다릴 수 없는 상황에서 사람이 스톱워
치 들고 개입을 해야 하나?
• 외부 프로그램(watchdog)이 감시해서 제어하기에는 무겁지 않을까?
bash에서 알고 넘어가야 하는 사항
• $$
• POSIX에서 $$는 원본 프로세스의 프로세스 식별자
• $BASHPID
• 배시 하위 셸 내부의 프로세스 식별자
• &
• 배경 프로세스로 동작
• KILL
• 프로세스에 시그널 전송
• TERM: 종료 시그널(해당 프로세스의 시그널 처리기에서 잡을 수 있음)
• KILL: 강제 종료 시그널(init에서 프로세스 종료)
• 모든 시그널 유형 보기
• $ kill -l
via @dongwoo
스크립트
$ (cmdpid=$BASHPID; (echo $cmdpid; sleep 5; kill -TERM $cmdpid) & exec sleep 10)
10321
Terminated
$ cat - > timeout.sh
#!/bin/sh
(cmdpid=$$; (echo $cmdpid; sleep 5; kill -TERM $cmdpid) & exec sleep 10)
<CTRL+D>
$ chmod +x timeout.sh
$ ./timeout.sh
10329
Terminated
명령행에서 직접 실행
스크립트로 만든 다음에 실행
보면서 따라해봅시다~~~
• https://asciinema.org/a/af1uoLWpsuDGITMFf34KGuICt

Contenu connexe

Tendances

2020년 4월 25일 개발 이야기 정리
2020년 4월 25일 개발 이야기 정리2020년 4월 25일 개발 이야기 정리
2020년 4월 25일 개발 이야기 정리Jay Park
 
2020년 6월 6일 개발 이야기 정리
2020년 6월 6일 개발 이야기 정리2020년 6월 6일 개발 이야기 정리
2020년 6월 6일 개발 이야기 정리Jay Park
 
2020년 4월 4일 개발 이야기 정리
2020년 4월 4일 개발 이야기 정리2020년 4월 4일 개발 이야기 정리
2020년 4월 4일 개발 이야기 정리Jay Park
 
2020년 4월 18일 개발 이야기 정리
2020년 4월 18일 개발 이야기 정리2020년 4월 18일 개발 이야기 정리
2020년 4월 18일 개발 이야기 정리Jay Park
 
2020년 2월 1일 개발 이야기 정리
2020년 2월 1일 개발 이야기 정리2020년 2월 1일 개발 이야기 정리
2020년 2월 1일 개발 이야기 정리Jay Park
 
[5분 따라하기] 3차원 도넛을 콘솔에 그리기
[5분 따라하기] 3차원 도넛을 콘솔에 그리기[5분 따라하기] 3차원 도넛을 콘솔에 그리기
[5분 따라하기] 3차원 도넛을 콘솔에 그리기Jay Park
 
[설치의 정석] EC2에서 워드프레스 설치하기
[설치의 정석] EC2에서 워드프레스 설치하기[설치의 정석] EC2에서 워드프레스 설치하기
[설치의 정석] EC2에서 워드프레스 설치하기Jay Park
 
2020년 10월 10일 개발자 이야기
2020년 10월 10일 개발자 이야기2020년 10월 10일 개발자 이야기
2020년 10월 10일 개발자 이야기Jay Park
 
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기Jay Park
 
2021년 3월 20일 개발자 이야기
2021년 3월 20일 개발자 이야기2021년 3월 20일 개발자 이야기
2021년 3월 20일 개발자 이야기Jay Park
 
2020년 5월 9일 개발 이야기 정리
2020년 5월 9일 개발 이야기 정리2020년 5월 9일 개발 이야기 정리
2020년 5월 9일 개발 이야기 정리Jay Park
 
[5분 따라하기] 3차원 지구본을 콘솔에 그리기
[5분 따라하기] 3차원 지구본을 콘솔에 그리기[5분 따라하기] 3차원 지구본을 콘솔에 그리기
[5분 따라하기] 3차원 지구본을 콘솔에 그리기Jay Park
 
2020년 8월 1일 개발 이야기 정리
 2020년 8월 1일 개발 이야기 정리 2020년 8월 1일 개발 이야기 정리
2020년 8월 1일 개발 이야기 정리Jay Park
 
[5분 따라하기] EC2 키 분실 후 대응 방법
[5분 따라하기] EC2 키 분실 후 대응 방법[5분 따라하기] EC2 키 분실 후 대응 방법
[5분 따라하기] EC2 키 분실 후 대응 방법Jay Park
 
2020년 6월 13일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리2020년 6월 13일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리Jay Park
 
2020년 9월 12일 개발 이야기 정리
2020년 9월 12일 개발 이야기 정리2020년 9월 12일 개발 이야기 정리
2020년 9월 12일 개발 이야기 정리Jay Park
 
2020년 9월 19일 개발자 이야기
2020년 9월 19일 개발자 이야기2020년 9월 19일 개발자 이야기
2020년 9월 19일 개발자 이야기Jay Park
 
2021년 3월 13일 개발자 이야기
2021년 3월 13일 개발자 이야기2021년 3월 13일 개발자 이야기
2021년 3월 13일 개발자 이야기Jay Park
 
2020년 2월 스택오버플로 개발자 설문 결과
2020년 2월 스택오버플로 개발자 설문 결과2020년 2월 스택오버플로 개발자 설문 결과
2020년 2월 스택오버플로 개발자 설문 결과Jay Park
 
2020년 9월 26일 개발자 이야기
2020년 9월 26일 개발자 이야기2020년 9월 26일 개발자 이야기
2020년 9월 26일 개발자 이야기Jay Park
 

Tendances (20)

2020년 4월 25일 개발 이야기 정리
2020년 4월 25일 개발 이야기 정리2020년 4월 25일 개발 이야기 정리
2020년 4월 25일 개발 이야기 정리
 
2020년 6월 6일 개발 이야기 정리
2020년 6월 6일 개발 이야기 정리2020년 6월 6일 개발 이야기 정리
2020년 6월 6일 개발 이야기 정리
 
2020년 4월 4일 개발 이야기 정리
2020년 4월 4일 개발 이야기 정리2020년 4월 4일 개발 이야기 정리
2020년 4월 4일 개발 이야기 정리
 
2020년 4월 18일 개발 이야기 정리
2020년 4월 18일 개발 이야기 정리2020년 4월 18일 개발 이야기 정리
2020년 4월 18일 개발 이야기 정리
 
2020년 2월 1일 개발 이야기 정리
2020년 2월 1일 개발 이야기 정리2020년 2월 1일 개발 이야기 정리
2020년 2월 1일 개발 이야기 정리
 
[5분 따라하기] 3차원 도넛을 콘솔에 그리기
[5분 따라하기] 3차원 도넛을 콘솔에 그리기[5분 따라하기] 3차원 도넛을 콘솔에 그리기
[5분 따라하기] 3차원 도넛을 콘솔에 그리기
 
[설치의 정석] EC2에서 워드프레스 설치하기
[설치의 정석] EC2에서 워드프레스 설치하기[설치의 정석] EC2에서 워드프레스 설치하기
[설치의 정석] EC2에서 워드프레스 설치하기
 
2020년 10월 10일 개발자 이야기
2020년 10월 10일 개발자 이야기2020년 10월 10일 개발자 이야기
2020년 10월 10일 개발자 이야기
 
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
 
2021년 3월 20일 개발자 이야기
2021년 3월 20일 개발자 이야기2021년 3월 20일 개발자 이야기
2021년 3월 20일 개발자 이야기
 
2020년 5월 9일 개발 이야기 정리
2020년 5월 9일 개발 이야기 정리2020년 5월 9일 개발 이야기 정리
2020년 5월 9일 개발 이야기 정리
 
[5분 따라하기] 3차원 지구본을 콘솔에 그리기
[5분 따라하기] 3차원 지구본을 콘솔에 그리기[5분 따라하기] 3차원 지구본을 콘솔에 그리기
[5분 따라하기] 3차원 지구본을 콘솔에 그리기
 
2020년 8월 1일 개발 이야기 정리
 2020년 8월 1일 개발 이야기 정리 2020년 8월 1일 개발 이야기 정리
2020년 8월 1일 개발 이야기 정리
 
[5분 따라하기] EC2 키 분실 후 대응 방법
[5분 따라하기] EC2 키 분실 후 대응 방법[5분 따라하기] EC2 키 분실 후 대응 방법
[5분 따라하기] EC2 키 분실 후 대응 방법
 
2020년 6월 13일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리2020년 6월 13일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리
 
2020년 9월 12일 개발 이야기 정리
2020년 9월 12일 개발 이야기 정리2020년 9월 12일 개발 이야기 정리
2020년 9월 12일 개발 이야기 정리
 
2020년 9월 19일 개발자 이야기
2020년 9월 19일 개발자 이야기2020년 9월 19일 개발자 이야기
2020년 9월 19일 개발자 이야기
 
2021년 3월 13일 개발자 이야기
2021년 3월 13일 개발자 이야기2021년 3월 13일 개발자 이야기
2021년 3월 13일 개발자 이야기
 
2020년 2월 스택오버플로 개발자 설문 결과
2020년 2월 스택오버플로 개발자 설문 결과2020년 2월 스택오버플로 개발자 설문 결과
2020년 2월 스택오버플로 개발자 설문 결과
 
2020년 9월 26일 개발자 이야기
2020년 9월 26일 개발자 이야기2020년 9월 26일 개발자 이야기
2020년 9월 26일 개발자 이야기
 

Similaire à [5분 따라하기] bash 타임아웃 패턴

2020년 10월 17일 개발자 이야기
2020년 10월 17일 개발자 이야기2020년 10월 17일 개발자 이야기
2020년 10월 17일 개발자 이야기Jay Park
 
2020년 3월 7일 개발 이야기 정리
2020년 3월 7일 개발 이야기 정리2020년 3월 7일 개발 이야기 정리
2020년 3월 7일 개발 이야기 정리Jay Park
 
Do not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDYDo not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDYHyun-woo Park
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Joongi Kim
 
2020년 7월 4일 개발 이야기 정리
2020년 7월 4일 개발 이야기 정리2020년 7월 4일 개발 이야기 정리
2020년 7월 4일 개발 이야기 정리Jay Park
 
2020년 7월 19일 개발 이야기 정리
2020년 7월 19일 개발 이야기 정리2020년 7월 19일 개발 이야기 정리
2020년 7월 19일 개발 이야기 정리Jay Park
 
2020년 11월 28일 개발자 이야기
2020년 11월 28일 개발자 이야기2020년 11월 28일 개발자 이야기
2020년 11월 28일 개발자 이야기Jay Park
 
팀 개발을 위한 GitHub 사용법
팀 개발을 위한 GitHub 사용법팀 개발을 위한 GitHub 사용법
팀 개발을 위한 GitHub 사용법Eugene Park
 
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예gnomekr
 

Similaire à [5분 따라하기] bash 타임아웃 패턴 (10)

2020년 10월 17일 개발자 이야기
2020년 10월 17일 개발자 이야기2020년 10월 17일 개발자 이야기
2020년 10월 17일 개발자 이야기
 
2020년 3월 7일 개발 이야기 정리
2020년 3월 7일 개발 이야기 정리2020년 3월 7일 개발 이야기 정리
2020년 3월 7일 개발 이야기 정리
 
Do not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDYDo not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDY
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
 
2020년 7월 4일 개발 이야기 정리
2020년 7월 4일 개발 이야기 정리2020년 7월 4일 개발 이야기 정리
2020년 7월 4일 개발 이야기 정리
 
20 2 강의를 마치며
20 2 강의를 마치며20 2 강의를 마치며
20 2 강의를 마치며
 
2020년 7월 19일 개발 이야기 정리
2020년 7월 19일 개발 이야기 정리2020년 7월 19일 개발 이야기 정리
2020년 7월 19일 개발 이야기 정리
 
2020년 11월 28일 개발자 이야기
2020년 11월 28일 개발자 이야기2020년 11월 28일 개발자 이야기
2020년 11월 28일 개발자 이야기
 
팀 개발을 위한 GitHub 사용법
팀 개발을 위한 GitHub 사용법팀 개발을 위한 GitHub 사용법
팀 개발을 위한 GitHub 사용법
 
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예
 

Plus de Jay Park

(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지Jay Park
 
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)Jay Park
 
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)Jay Park
 
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)Jay Park
 
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략Jay Park
 
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학Jay Park
 
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드Jay Park
 
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰Jay Park
 
(독서광) 테니스 이너 게임
(독서광) 테니스 이너 게임(독서광) 테니스 이너 게임
(독서광) 테니스 이너 게임Jay Park
 
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결Jay Park
 
(독서광) 모던 리눅스 교과서
(독서광) 모던 리눅스 교과서(독서광) 모던 리눅스 교과서
(독서광) 모던 리눅스 교과서Jay Park
 
(독서광) 상자 밖에 있는 사람
(독서광) 상자 밖에 있는 사람(독서광) 상자 밖에 있는 사람
(독서광) 상자 밖에 있는 사람Jay Park
 
(독서광) 자바 알고리즘 인터뷰 with 코틀린
(독서광) 자바 알고리즘 인터뷰 with 코틀린(독서광) 자바 알고리즘 인터뷰 with 코틀린
(독서광) 자바 알고리즘 인터뷰 with 코틀린Jay Park
 
(독서광) 리그 오브 레전드 플레이어 중심주의
(독서광) 리그 오브 레전드 플레이어 중심주의(독서광) 리그 오브 레전드 플레이어 중심주의
(독서광) 리그 오브 레전드 플레이어 중심주의Jay Park
 
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트Jay Park
 
(독서광) 오늘날 우리는 컴퓨터라 부른다
(독서광) 오늘날 우리는 컴퓨터라 부른다(독서광) 오늘날 우리는 컴퓨터라 부른다
(독서광) 오늘날 우리는 컴퓨터라 부른다Jay Park
 
(독서광) 사실은 이것도 디자인입니다
(독서광) 사실은 이것도 디자인입니다(독서광) 사실은 이것도 디자인입니다
(독서광) 사실은 이것도 디자인입니다Jay Park
 
(독서광) 프로덕트 매니지먼트
(독서광) 프로덕트 매니지먼트(독서광) 프로덕트 매니지먼트
(독서광) 프로덕트 매니지먼트Jay Park
 
(독서광) 슬기로운 파이썬 트릭
(독서광) 슬기로운 파이썬 트릭(독서광) 슬기로운 파이썬 트릭
(독서광) 슬기로운 파이썬 트릭Jay Park
 
(독서광) 유혹하는 글쓰기
(독서광) 유혹하는 글쓰기(독서광) 유혹하는 글쓰기
(독서광) 유혹하는 글쓰기Jay Park
 

Plus de Jay Park (20)

(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
 
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
 
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
 
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
 
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
 
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
 
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
 
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
 
(독서광) 테니스 이너 게임
(독서광) 테니스 이너 게임(독서광) 테니스 이너 게임
(독서광) 테니스 이너 게임
 
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
 
(독서광) 모던 리눅스 교과서
(독서광) 모던 리눅스 교과서(독서광) 모던 리눅스 교과서
(독서광) 모던 리눅스 교과서
 
(독서광) 상자 밖에 있는 사람
(독서광) 상자 밖에 있는 사람(독서광) 상자 밖에 있는 사람
(독서광) 상자 밖에 있는 사람
 
(독서광) 자바 알고리즘 인터뷰 with 코틀린
(독서광) 자바 알고리즘 인터뷰 with 코틀린(독서광) 자바 알고리즘 인터뷰 with 코틀린
(독서광) 자바 알고리즘 인터뷰 with 코틀린
 
(독서광) 리그 오브 레전드 플레이어 중심주의
(독서광) 리그 오브 레전드 플레이어 중심주의(독서광) 리그 오브 레전드 플레이어 중심주의
(독서광) 리그 오브 레전드 플레이어 중심주의
 
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
 
(독서광) 오늘날 우리는 컴퓨터라 부른다
(독서광) 오늘날 우리는 컴퓨터라 부른다(독서광) 오늘날 우리는 컴퓨터라 부른다
(독서광) 오늘날 우리는 컴퓨터라 부른다
 
(독서광) 사실은 이것도 디자인입니다
(독서광) 사실은 이것도 디자인입니다(독서광) 사실은 이것도 디자인입니다
(독서광) 사실은 이것도 디자인입니다
 
(독서광) 프로덕트 매니지먼트
(독서광) 프로덕트 매니지먼트(독서광) 프로덕트 매니지먼트
(독서광) 프로덕트 매니지먼트
 
(독서광) 슬기로운 파이썬 트릭
(독서광) 슬기로운 파이썬 트릭(독서광) 슬기로운 파이썬 트릭
(독서광) 슬기로운 파이썬 트릭
 
(독서광) 유혹하는 글쓰기
(독서광) 유혹하는 글쓰기(독서광) 유혹하는 글쓰기
(독서광) 유혹하는 글쓰기
 

[5분 따라하기] bash 타임아웃 패턴

  • 1. [5분 따라하기] bash 타임아웃 패턴 박재호(jrogue@gmail.com)
  • 2. 참고 자료 • <컴퓨터 vs 책> 블로그 • http://jhrogue.blogspot.com/ • OKdevTV 유튜브 방송 • 5분 따라하기 리스트: • https://www.youtube.com/playlist?list=PLdntWJk2tJPLKNNYBVCxnde2PEB6d zbSL • 슬라이드 셰어 • https://www.slideshare.net/jrogue/presentations • ASCIINEMA • https://asciinema.org/~jrogue
  • 3. 오늘 소개할 내용 • 배시(bash) 셸 스크립트에서 타임아웃을 걸 수 없을까? • 실행이 오래 걸리는 작업을 무작정 기다릴 수 없는 상황에서 사람이 스톱워 치 들고 개입을 해야 하나? • 외부 프로그램(watchdog)이 감시해서 제어하기에는 무겁지 않을까?
  • 4. bash에서 알고 넘어가야 하는 사항 • $$ • POSIX에서 $$는 원본 프로세스의 프로세스 식별자 • $BASHPID • 배시 하위 셸 내부의 프로세스 식별자 • & • 배경 프로세스로 동작 • KILL • 프로세스에 시그널 전송 • TERM: 종료 시그널(해당 프로세스의 시그널 처리기에서 잡을 수 있음) • KILL: 강제 종료 시그널(init에서 프로세스 종료) • 모든 시그널 유형 보기 • $ kill -l
  • 6. 스크립트 $ (cmdpid=$BASHPID; (echo $cmdpid; sleep 5; kill -TERM $cmdpid) & exec sleep 10) 10321 Terminated $ cat - > timeout.sh #!/bin/sh (cmdpid=$$; (echo $cmdpid; sleep 5; kill -TERM $cmdpid) & exec sleep 10) <CTRL+D> $ chmod +x timeout.sh $ ./timeout.sh 10329 Terminated 명령행에서 직접 실행 스크립트로 만든 다음에 실행