nohub와 &는 표면적으로 비슷한 효과를 갖는 것 같습니다. 둘 다 프로세스를 시작하는 셸을 차지하지 않고 프로세스를 시작하는데, 더 깊은 수준에서는 어떻게 다릅니까?
답변1
북면
- 명령은 끊기 신호의 영향을 받지 않습니다.
- tty 없이 실행됩니다.
nohup - 정지의 영향을 받지 않는 명령을 실행하고 tty가 아닌 명령으로 출력합니다.
&
- 명령이 백그라운드에 배치됩니다.
- "fg"를 사용하여 (동일한 쉘에서) 명령으로 돌아갈 수 있습니다.
명령 뒤에 &가 있고 작업 제어가 활성화되지 않은 경우 명령에 대한 기본 표준 입력은 빈 파일 /dev/null입니다. 그렇지 않으면 호출된 명령은 호출 셸의 파일 설명자를 상속합니다(리디렉션으로 수정됨).