nohup
실행하는 명령은 다른 프로그램으로 지정의 인수를 무시하고 모든SIGHUP
(끊기)신호가 있습니다. SIGHUP
는 제어 터미널이 닫힐 때 프로세스로 전송되는 신호입니다.
일반적으로,프로그램을 실행할 때 SSH 에 연결이 떨어질 경우 또는 당신은 로그아웃하면 세션이 종료되고 모든 프로세스를 실행되는 터미널에서 중지됩니다. 여기서nohup
명령이 편리합니다., 모든 끊기 신호를 무시하고 프로세스가 계속 실행됩니다.
사용하는 방법 nohup 명령#
에 대한 구문을nohup
명령은 다음과 같습니다:
nohup COMMAND
명령을 받아들이지 않은 다른 어떤 옵션을 제외하고 표준--help
및--version
.,
게 살펴보면 다음 예제:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
실행하는mycommand
명령에서 포그라운드와 리디렉션 명령 출력을nohup.out
파일입니다. 이 파일은 현재 작업 디렉토리에 생성됩니다. 명령을 실행하는 사용자에게 작업 디렉토리에 대한 쓰기 권한이 없으면 사용자의 홈 디렉토리에 파일이 생성됩니다.
터미널을 로그 아웃하거나 닫으면 프로세스가 종료되지 않습니다.,
명령을 실행에 바탕#
Usingnohup
전경에 있지 않기 때문에 매우 유용할 수 없과 상호 작용하는 쉘까지 명령이 완료됩니다.
명령을 실행에서 배경,추가&
기호의 끝에서 명령:
nohup mycommand &
출력을 포함한 쉘 작업 ID(둘러싸여 있으로 괄호)와 프로세스 ID:
25177
사용할 수 있습니 작업 ID 를 가지고 명령으로 전경을 사용하는fg
명령입니다.,
경우 어떤 이유로 당신이 원하는 프로세스를 종료하려면 사용하는kill
명령에 의해 따른 프로세스 ID:
kill -9 25132
리다이렉션을 출력하는 파일#
기본적으로, nohup
리디렉션 명령 출력을nohup.out
파일입니다. 출력을 다른 파일로 리디렉션하려면 표준 쉘 리디렉션을 사용하십시오.,
예를 들어,리디렉션하는 표준출력과 표준오류는mycommand.out
을 사용합니다.
nohup mycommand > mycommand.out 2>&1 &
리디렉션하는 표준출력과 표준오류는 다른 파일은:
nohup mycommand > mycommand.out 2> mycommand.err &
대안#
있는 여러 가지 다른 프로그램를 방지하기 위해 사용할 수 있는 명령을 종료될 때까 터미널 또는 연결이 끊어져 있습니다.,
화면#
화면 또는 GNU 화면 터미널 멀티플렉서 프로그램을 시작할 수 있도록 화면 세션과의 번호를 열고 윈도우(가상 맨끝)내부에는 세션이 있습니다. 화면에서 실행중인 프로세스는 연결이 끊어 지더라도 창이 보이지 않을 때 계속 실행됩니다.
Tmux#
Tmux 는 GNU 화면에 대한 현대적인 대안입니다. Tmux 를 사용하면 세션을 만들고 해당 세션 내에서 여러 창을 열 수도 있습니다. Tmux 세션은 영구적이므로 tmux 에서 실행되는 프로그램은 터미널을 닫더라도 계속 실행됩니다.,
Disown#
disown
는 쉘의 작업 컨트롤에서 쉘 작업을 제거하는 쉘 내장입니다. nohup
와 달리 실행중인 프로세스에서도disown
를 사용할 수 있습니다.
결론#
nohup
하지 못하도록 차단할 수 있습에서 명령을 종료되는 경우 당신은 로그아웃하거나 종료됩니다.피>