Written by
Tanji
on
on
백그라운드에서 프로세스 실행하기
맥이나 리눅스 원격 서버에 ssh 프로토콜로 접속한 이후에 시간이 오래 걸리는 script나 명령어를 수행하고 있다면 원격 서버를 종료해야 할 일이 있을 때 해당 프로세스가 함께 종료되어 버릴 때가 있습니다.
이 때 nohup
이라는 명령어를 이용하면 편리하게 해당 script나 명령어를 백그라운드에서 수행하는 것이 가능합니다.
이용법은 간단합니다. 예를 들어 특정 URL에 있는 파일을 내려받는다고 가정해 보고 내려받기를 백그라운드에서 이루어지도록 해보면,
$ nohup wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2 &
이렇게 하면 ssh 접속이 끊기더라도 내려받기 작업을 하는 것이 가능합니다. nohup
과 &
사이에 동작을 원하는 명령어를 입력해 주기만 하면 됩니다. 원격서버에서 컴파일을 진행할 때도 마찬가지 입니다.
$ nohup make -j4 && make install &
이렇게 하면 ssh 접속이 끊기더라도 컴파일을 진행하고 해당 로그는 nohup.out 파일에 실시간으로 기록됩니다.
$ tail -f nohup.out
tail 명령어를 이용하면 실시간 로그를 확인할 수 있습니다.