반응형




nohup 실행파일 1> /dev/null 2>&1


 


실제적인 설명은 마지막에 드리고 먼저 I/O 재지향에 대한 개념을 소개합니다.


 


I/O 재지향


 


ls > ls_result.txt


위와 같이 하면 화면에 출력될  ls 결과가 ls_result.txt 라는 파일 속에 기록이 됩니다.


 화면에 출력될 내용을 표준출력(stdout)이라고 하는데,


파일디스크립터(file descriptor)  번호는 1번입니다.


(표준입력, 표준출력, 표준에러에 해당하는 파일 디스크립터는 각각 0, 1, 2 입니다.)


 ls 1> ls_result.txt 라고 해도 결과가 같습니다.


 ls > /dev/null ls 결과를 /dev/null 이라는 파일 속에 넣습니다.


/dev/null 특수한 장치파일로 모든 입력을 (마치 블랙홀 마냥) 없애버립니다.


 


1> /dev/null 


그러므로 위의 표현은 표준출력을 /dev/null 재지향합니다.


 


2>&1 


표현은 1 파일디스크립터에 2 파일디스크립터(stderr) 재지향 합니다.


1 파일디스크립터는 바로 전에 /dev/null 재지향되었기 때문에


2 파일디스크립터를 1 파일디스크립터로 재지향하는 것은


2 파일디스크립터를 /dev/null 재지향하는 것과 동일합니다.


 


&  


마지막의 & 실행 작업을 background 보내는 역할을 합니다.


 


그러므로,


nohup 실행파일 1> /dev/null 2>&1


명령은 실행파일을 백그라운드 모드로 실행을 하면서


로그아웃 후에도 프로세스가 죽지 않고 진행되도록 하는데,


실행파일에 의해 발생되는 출력(에러 메시지까지) 화면에 보이지 않게끔 합니다.


 


nohup 명령은 실행을 하면 nohup.out 이라는 이름의 파일이 생성됩니다.


파일에는 nohup 으로 실행하는 명령의 출력이 기록이 되는데


위의 명령을 이용하면 nohup.out 에는 아무런 기록이 남지 않습니다




반응형
Posted by 공간사랑
,