노업
nohup| 개발자 | 다양한 오픈 소스 및 상업용 개발자 |
|---|---|
| 운영 체제 | Unix, Unix 유사, IBM i |
| 플랫폼 | 크로스 플랫폼 |
| 유형 | 명령 |
노업(hohup)은 "no hang up"을 의미하는 POSIX 명령어다.사용자가 로그아웃할 때 정지하지 않고 HUP(전화걸기) 신호를 무시하는 등의 명령을 실행하는 것이 목적이다.
일반적으로 터미널로 전송되는 출력은 다음과 같은 파일로 이동됨노업.아웃, 아직 리디렉션되지 않은 경우.
사용하다
아래 명령 중 첫 번째 명령이 프로그램을 시작함abcd이후 로그아웃이 중단되지 않도록 백그라운드에서.
$ohup abcd & $ exit이러한 방법은 로그아웃 시 프로세스가 '정지' 신호를 전송하는 것을 방지하지만, 이러한 표준 I/O 파일(stdin, stdout 또는 stderr)에 대해 입/출력이 수신되고 있는 경우에도 여전히 터미널이 걸려 있다는 점에 유의하십시오.[1]아래의 "걸림 극복"을 참조하십시오.
nohup은 낮은 우선순위로 프로세스를 실행할 수 있는 nice 명령과 함께 종종 사용된다.
$노업 멋진 abcd &구현
일부 쉘(예: bash)은 RHEMSUP가 노업으로 시작되지 않았더라도 기존 일자리로 보내지거나 전파되는 것을 방지하기 위해 사용될 수 있는 쉘을 내장하고 있다.bash에서는 이것을 사용함으로써 얻을 수 있다.disown -h job; 인수 없이 동일한 기본 제공 기능을 사용하면 작업 테이블에서 작업이 제거되며, 이는 작업에서 신호를 수신하지 못할 것임을 의미하기도 한다.사용 전disown활동 중인 직업에 있어서, 그것은 에 의해 중지되어야 한다.Ctrl-Z, 그리고 뒤에 계속.bg명령하다[2]또 다른 적절한 배시 옵션은shopt huponexit셸이 정상적으로 종료될 때 자동으로 HUP 신호를 작업으로 전송하는 기능.[3]
AIX와 Solaris 버전의 Rohup은-p미래의 HEEPUP 신호를 무시하도록 실행 프로세스를 수정하는 옵션.위에서 설명한 것과 달리disown배쉬로 만든nohup -p프로세스 ID를 승인한다.[4]
교수형 극복
일반적으로 원격 SSH 세션에서 로그오프할 때 백그라운드 작업이 종료되지 않도록 하기 위해 nohuping 백그라운드 작업이 사용된다는 점에 유의하십시오.이러한 상황에서 자주 발생하는 다른 문제는 ssh가 백그라운드 작업으로부터/에서 데이터 손실을 거부하기 때문에 로그오프("정지")를 거부하고 있다는 것이다.[6][7]이 문제는 다음의 세 가지 I/O 스트림을 모두 리디렉션하여 해결할 수도 있다.
$ nohup ./my program > foo.out 2> foo.poo.po.po.propert < /dev/filense또한 폐 SSH 세션이 유사 터미널이 할당되지 않은 경우와 같이 종속 프로세스에 항상 HUP 신호를 전송하는 것은 아니라는 점에 유의하십시오.[8]
대안
- 터미널 멀티플렉서는 현재 터미널에서 분리된 별도의 세션에서 명령을 실행할 수 있으며, 이는 현재 세션이 종료되더라도 분리된 세션과 관련 프로세스가 계속 실행된다는 것을 의미한다.그런 다음 나중에 세션에 다시 연결할 수 있다.
- 예를 들어 다음과 같은 화면 호출이 실행될 것이다.분리된 세션의 배경에 sh:
$ 화면 -A -m -d -Somename ./somescript.sh &- 해제 명령은 작업 테이블에서 작업을 제거하거나 세션 종료 시 AHEMUP 신호가 전송되지 않도록 작업을 표시하는 데 사용된다.
참조
- ^ "Re: nohup/disown and logout". Zsh.org. 2005-02-07. Archived from the original on 2009-05-18. Retrieved 2009-06-10.
- ^ Bash Reference Manual Archived 2010-12-03 Wayback Machine.Gnu.org.2015-04-13년에 검색됨.
- ^ Bash Reference Manual Archived 2010-12-03 Wayback Machine.Gnu.org.2015-04-13년에 검색됨.
- ^ IBM 지식 센터 2014-10-15 Wayback Machine에 보관. 01.ibm.com(2015-03-26)2015-04-13년에 검색됨.
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
{{cite web}}: CS1 maint : url-status (링크) - ^ "SSH Frequently Asked Questions". Snailbook.com. Archived from the original on 2009-01-22. Retrieved 2009-06-10.
- ^ "OpenSSH FAQ". Openssh.com. 2005-09-20. Archived from the original on 2009-07-10. Retrieved 2009-06-10.
- ^ "Bug 396 – sshd orphans processes when no pty allocated". Bugzilla.mindrot.org. Retrieved 2009-06-10.