티스토리 뷰

Linux

Linux background Process 실행

구티맨 2019. 10. 14. 10:55

nohup

HUP( hang up ) 신호를 무시하도록 만드는 POSIX 명령어이다. 쉽게 말해서 터미널에서 프로세스를 수행하고, 터미널이 종료 되더라도 해당 프로세스는 계속 수행된다. ( HUP 신호는 터미널이 의존 프로그램들에게 로그아웃을 알리는 방식이다. )
터미널로 향하는 출력은 별도로 넘기도록 처리를 하지 않으면 nohup.out 파일에 출력이 된다.

  • 다른 용도로, 표준출력을 다른 곳으로 보내기 위해서도 사용합니다.

&

background 로 프로세스가 동작하도록 하는 명령어이다.

$ nohup ./program &

nohup 과 & 차이

nohup 은 터미널이 종료되더라도 계속 수행이 되지만, & 명령어는 백그라운드로 프로세스가 수행이 되긴 하지만 터미널이 종료되면 HUP 신호를 받게 되어 프로세스가 종료 되게 된다. 이를 방지하기 위해 nohup 과 & 명령어를 함께 사용한다.

출력 redirection ( 로그 )

& nohup ./program > out.txt

program에서 출력되는 메시지들이 out.txt에 저장된다.

& nohup ./program > out.txt 2> out.err

stderr을 out.err 에 저장

& nohup ./program > out.txt 2>&1

stderr을 stdout 에 저장

& nohup ./program > /dev/null

아무대도 출력 되지 않는다.

종료

Reference

https://ko.wikipedia.org/wiki/Nohup

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함