만약 프로그램이 다음과 같은 명령어로 실행된다면

changuk@ubuntu:~$ mono myProgram.exe input.dat


nohup 명령을 이용하여 다음과 같이 프로그램을 수행한다.

changuk@ubuntu:~$ nohup mono myProgram.exe input.dat &


그럼 아래와 같이 메시지가 나타나는데

nohup: ignoring input and appending output to ‘nohup.out’

nohup으로 수행되는 프로세스는 stdout 결과가 nohup.out 파일에 저장된다는 뜻이다.

콘솔 프로그램이 stdout으로 메시지를 출력한다면 nohup.out 파일을 열어보면 출력 메시지를 확인할 수 있다.


이제 Putty 세션을 종료하더라도 원격 리눅스 서버는 해당 프로그램을 계속 수행하고 있게 된다.


여기서 다시 Putty 접속을 하고 해당 프로세스(지금 예제에서는 mono)를 죽이려면

다음과 같은 ps 명령어로 수행중인 프로세스를 찾고, kill 명령어로 프로세스를 죽이면 된다.

changuk@ubuntu:~$ ps -ef | grep mono
changuk   6902  6833 98 23:47 pts/1    00:00:27 mono myProgram.exe input.dat
changuk@ubuntu:~$ kill -9 6902