답변:
Ctrl-D 또는 exit
동일합니다.
"X"를 사용하는 경우 창 관리자는 종료 신호를 쉘로 보냅니다. 결국 같은 결과를 얻었습니다. 쉘이 반응하지 않으면 일반적으로 경고 메시지가 표시되고 쉘이 강제로 종료되도록 할 수 있습니다 (와 동일 kill -9 $PID
).
zsh
쉘로 사용하는 경우 "X"-및 exit-method 사이에 작은 차이가 있습니다. 백그라운드 프로세스가 실행중인 경우 exit
/ ctrl-D는 "작업을 실행 중입니다"라는 경고 메시지 만 처음으로 생성합니다. 두 번째로 쉘이 닫힙니다. "X"버튼으로 쉘은 경고없이 즉시 종료됩니다.
터미널 에뮬레이터를 닫는 것은 누르는 것과 다릅니다 CTRL + D
(옵션 huponexit
이 설정 되지 않은 경우 ).
터미널을 닫으면 ( "X"클릭) 터미널 에뮬레이터가 SIGHUP을 쉘로 보냅니다. bash는 SIGHUP을 받으면 모든 작업에 SIGHUP도 보냅니다.
때 당신이 터미널을 종료 CTRL+D
하거나 logout
또는 exit
, 모든 작업에 SIGHUP을 전송하지 않고 쉘이 종료됩니다. 이것이 기본 동작이지만 bash shopt
설정 을 설정하여 변경할 수 있습니다 huponexit
.
따라서 궁극적으로 목표가 백그라운드에서 실행중인 것이 없는지 확인하는 것이라면 "X"를 클릭하십시오.
.
jofel의 의견에 제공된 정보가 잘못되었습니다 (죄송합니다). 터미널 에뮬레이터는 쉘에서 어떤 작업이 실행되고 있는지 전혀 알지 못하므로 작업을 종료 할 수 없습니다.
참고 :
이 동작은 셸에 전적으로 의존합니다. 다른 쉘이 다른 기본 동작을 가질 수도 있습니다.
Ctrl+d
프로세스가 PPID 1 = systemd에 의해 상속 될 때
&
가 계속 실행됩니다. "X"이면 종료됩니다.