앰퍼샌드 (&) 기호는`nohup`에서 무엇을 의미합니까?


11

나는 &명령 문자열의 끝을 따르는 수많은 예제를 보았지만 그 기능에 대한 설명을 찾을 수없는 것 같습니다. nohupman페이지 에도 없습니다 . 이게 껍질인가?

사용 &여부에 관계없이 프로세스가 실행 nohup되면 모든 끊기 신호에 대한 내성이 나타납니다.


1
"nohup으로 실행 된 프로세스가 행업 신호에 대한 내성을 나타내는 것 같습니다." 그것이 nohup을위한 것입니다.
Samuel Edwin Ward

자, 분명히 해 드리겠습니다 : 내가 본 유일한 예제는을 사용 &하므로 &어떤 종류의 수정 자 또는 논쟁이 nohup다르게 행동 했는지 확실하지 않았습니다.
채드 해리슨

1
그것은 의심 할만한 합리적인 것입니다. 사실 그것은 nohup 동작을 수정하지는 않지만 (nohup은 그것을 보지 못합니다) 쉘의 동작을 수정합니다.
Samuel Edwin Ward

nohup &-> No Hangup and background 그것. 옛날의 모뎀과 시리얼 터미널에서. 터미널과 모뎀이 오프라인 상태가되면 백그라운드에서 계속 처리하여 다음에 온라인에 접속할 때 작업이 완료되도록합니다.
Fiasco Labs

답변:


19

로부터 배쉬 맨 페이지 :

제어 연산자 &에 의해 명령이 종료되면, 쉘은 백그라운드에서 서브 쉘의 명령을 실행합니다. 쉘은 명령이 완료되기를 기다리지 않으며 리턴 상태는 0입니다.

그렇습니다. 그것은 쉘 일이며 모든 명령과 함께 사용할 수 있습니다. 기본적으로 즉시 제어권을 리턴하고 백그라운드에서 명령이 완료되도록합니다. nohup일반적으로 명령을 시작한 후 쉘을 종료하려고하므로 거의 항상 사용됩니다 .


4
나는 당신이 최근에 많은 좋은 답변을 게시하는 것을 보았고 내 뇌는 항상 사용자 이름을 McGuyver로 변환합니다. 왜 내가 당신에게 이것을 말할 필요가 있는지 모르겠습니다.
MDMarra

1
@MDMarra 나는 그것을 칭찬으로 받아 들일 것이다 ;-)
mgorven

1
@MDMarra 적어도 당신은 생각하지 않습니다 : "McGruber"
워드-모니카 복원

7

앰퍼샌드 (&)를 사용하면 하위 프로세스 (현재 하위 세션에서 하위 프로세스)로 명령이 실행됩니다. 그러나 세션을 종료하면 모든 하위 프로세스가 종료됩니다.

nohup + 앰퍼샌드 (&)를 사용하면 세션이 종료 될 때 하위 프로세스의 상위 프로세스가 "초기"프로세스 인 "1"로 변경되어 하위 프로세스가 종료되는 것을 제외하고 동일한 작업을 수행합니다.


3

그렇습니다. 쉘입니다. 백그라운드에서 명령을 실행하므로 더 많은 명령을 실행하기 전에 현재 명령이 돌아올 때까지 기다릴 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.