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 에는 아무런 기록이 남지 않습니다.


'OS > LINUX' 카테고리의 다른 글

/etc/sysconfig / 시스템 설정 정보  (0) 2011.06.16
IPTABLES 사용법 예제로 정리  (0) 2011.06.16
iptables 관련  (0) 2011.06.16
원격 시스템 사용자 계정 정보 확인 - finger  (0) 2011.06.14
php memcached 설치 & 연동  (0) 2011.06.09

+ Recent posts