logo

예제가 포함된 Linux의 nohup 명령

Linux의 모든 명령은 실행 시 프로세스를 시작하며 터미널을 종료하면 자동으로 종료됩니다. SSH를 통해 프로그램을 실행하고 있는데 연결이 끊어지면 세션이 종료되고 실행된 모든 프로세스가 중지되어 엄청난 우발적 위기에 직면할 수 있다고 가정해 보겠습니다. 이러한 경우 백그라운드에서 명령을 실행하는 것이 사용자에게 매우 도움이 될 수 있으며, 여기서는 nohup 명령 그림 속으로 들어옵니다. nohup(전화 끊지 않음) 쉘/터미널에서 로그아웃한 후에도 프로세스를 실행하는 Linux 시스템의 명령입니다.

노후프 명령

일반적으로 Linux 시스템의 모든 프로세스에는 SIGHUP(신호 끊기) 터미널을 닫거나 종료한 후 프로세스를 종료하는 역할을 담당합니다. Nohup 명령은 터미널/셸을 닫거나 종료할 때 프로세스가 이 신호를 수신하지 못하도록 합니다. nohup 명령을 사용하여 작업이 시작되거나 실행되면 표준입력 사용자는 사용할 수 없으며 nohup.out 파일이 기본 파일로 사용됩니다. 표준 출력 그리고 표준 오류 . nohup 명령의 출력이 다른 파일로 리디렉션되는 경우 nohup.out 파일이 생성되지 않습니다.



Nohup 명령 구문

Nohup 명령을 사용하는 구문은 간단합니다.

CSS의 가운데 버튼
nohup command [options] &>
  • `command`> : 실행할 명령이나 스크립트를 지정합니다.
  • `[options]`> : 명령의 동작을 수정하는 선택적 인수 또는 플래그입니다.
  • `&`> : 명령 끝에 앰퍼샌드(&)를 배치하면 쉘이 백그라운드에서 명령을 실행하도록 지시합니다.

nohup 명령으로 작업하기

Nohup 버전 확인

Nohup의 버전을 확인하는 과정은 간단합니다. 일반적으로 `를 사용하여 시스템에 설치된 Nohup의 버전을 확인할 수 있습니다. --version`> 깃발. 다음 명령을 실행하면 됩니다.



nohup --version>

산출:

Nohup을 사용하여 프로세스 시작

Nohup을 사용하여 프로세스를 시작하려면 원하는 명령 앞에 다음을 추가하면 됩니다.nohup>. 예를 들어, 다음과 같은 bash 스크립트를 실행하려는 경우geekfile.py>Nohup을 사용하면 다음 명령을 사용합니다.



nohup bash geekfile.sh>

산출:

출력을 다음으로 리디렉션하려면 출력.txt 파일:

자바의 이중
nohup bash geekfile.sh>출력.txt>

산출:

Nohup을 사용하여 백그라운드에서 프로세스 시작

백그라운드에서 명령을 실행하려면 ' &' 기호는 명령 끝에 추가됩니다. 실행 후 백그라운드에서 명령을 실행한 후 셸 명령 프롬프트로 돌아가지 않습니다. 다음을 사용하여 다시 전경으로 가져올 수 있습니다. fg 명령.

nohup bash geekfile.sh & fg>

산출:

자바에서 문자열 뒤집기

메모: 대괄호 안의 숫자는 직업 ID 그리고 그 옆에 있는 숫자는 프로세스 ID .

백그라운드에서 여러 명령을 실행하려면

nohup 명령을 사용하면 백그라운드에서 여러 명령을 실행할 수 있습니다.

nohup bash -c 'commands'>

예:

nohup bash -c 'cal && ls'>

산출:

여기서 출력은 기본적으로 다음 위치에 저장됩니다. nohup.out . 리디렉션하려면 다음을 입력하세요.

nohup bash -c 'commands'>파일명.txt>

예:

nohup bash -c 'cal && ls'>출력.txt>

산출:

쉐타 티와리

Linux의 nohup 명령 – FAQ

이것은 nohup> Linux의 명령, 그 기능은 무엇인가요?

그만큼 nohup> 명령은 끊지 않음을 의미합니다. 로그아웃하거나 터미널을 닫은 후에도 계속 실행되는 방식으로 명령이나 셸 스크립트를 실행할 수 있습니다. 이렇게 하면 터미널 세션이 종료될 때 명령이 종료되는 것을 방지할 수 있습니다.

안드로이드 유튜브에서 광고 차단하기

어떻게 사용하나요? nohup> 명령?

사용 nohup> , 실행하려는 명령 앞에 추가하기만 하면 됩니다. 예를 들어:

nohup command_to_run &>

그만큼 &> 끝에 있는 기호는 명령을 백그라운드에 배치하므로 명령이 실행되는 동안 터미널을 계속 사용할 수 있습니다.

어디에서 nohup> 명령의 출력을 보내시겠습니까?

기본적으로, nohup> 표준 출력(stdout)과 표준 오류(stderr)를 모두 이름이 지정된 파일로 리디렉션합니다. nohup.out> 현재 디렉토리에 있습니다. 원하는 경우 다른 출력 파일을 지정할 수 있습니다.

사용해도 되나요 nohup> 대화형 명령이나 프로그램이 있나요?

하는 동안 nohup> 일반적으로 비대화형 명령이나 스크립트와 함께 사용되지만 대화형 명령과 함께 사용할 수도 있습니다. 그러나 특히 명령이 사용자의 입력을 기대하는 경우 동작을 예측할 수 없습니다. 일반적으로 사용을 피하는 것이 좋습니다. nohup> 대화형 프로그램으로

다음으로 실행 중인 명령의 상태를 어떻게 확인할 수 있습니까? nohup> ?

부터 nohup> 백그라운드에서 명령을 실행하면 다음과 같은 표준 Linux 도구를 사용할 수 있습니다. ps> 또는 top> 프로세스 상태를 확인합니다. 예를 들어:

ps aux | grep>

그러면 명령을 관리하거나 모니터링하는 데 사용할 수 있는 PID(프로세스 ID)를 포함하여 프로세스에 대한 정보가 표시됩니다.

결론

Linux에서는 명령을 실행할 때 일반적으로 터미널을 닫으면 명령이 중지됩니다. 하지만 함께 nohup> , 터미널을 닫은 후에도 계속 실행할 수 있습니다. 특히 원격으로 명령을 실행하고 연결이 끊어져도 명령이 중지되는 것을 원하지 않는 경우 매우 편리합니다.nohup>일반적으로 명령을 중지하는 신호로부터 명령을 보호하여 작동합니다. 그냥 추가하면 된다nohup>당신의 명령이 있기 전에 계속 진행됩니다. 명령의 출력을 파일로 보낼 수도 있습니다. 비대화형 작업에 가장 적합하며 다음과 같은 도구를 사용하여 명령 상태를 확인할 수 있다는 점을 기억하세요.ps>. 그래서,nohup>명령을 위한 안전망과 같아서, 보고 있지 않을 때에도 계속해서 명령을 내릴 수 있습니다.