리눅스 Nohup 명령

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하지 못하도록 차단할 수 있습에서 명령을 종료되는 경우 당신은 로그아웃하거나 종료됩니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다