gnome-terminal cmd는 상위 창을 닫은 후에도 프로세스를 열어 둡니다.

gnome-terminal cmd는 상위 창을 닫은 후에도 프로세스를 열어 둡니다.

다음의 간단한 명령은 내 문제를 설명합니다.

gnome-terminal --tab -t "Tab 1" -e "/bin/bash" --tab -t "Tab 2" -e "/bin/bash"

두 개의 탭과 활성 bash 쉘이 있는 새 창이 열립니다. GUI [x]를 사용하여 이 새 창을 즉시 닫은 다음 명령을 실행하면 ps(이 경우) 하위 프로세스( /bin/bash)는 열린 상태로 유지됩니다.

나는 이것이 어느 시점에서 (클릭을 통해) 결코 활성화되지 않은 모든 비활성 탭에 해당한다는 것을 발견했습니다. 따라서 위의 예와 유사하지만 2개가 아닌 5개의 탭이 있는 새 명령을 만들고 명령을 실행한 후 즉시 이 창을 닫으면 4개의 하위 프로세스가 계속 실행됩니다.

특별한 부분은 다음과 같습니다. 각 탭을 클릭하여 활성화한 다음 창을 닫으면 예상대로 모든 하위 프로세스가 종료됩니다.

이것은 그놈 터미널의 버그입니까?

이러한 프로세스가 열려 있는 상태가 아닌 닫혀 있는지 어떻게 확인할 수 있나요?

추가 조사를 통해 열린 프로세스의 상위 프로세스 ID가 위 명령이 실행된 터미널의 PID인 것으로 밝혀졌습니다. 원래 소스 터미널을 종료하지 않고도 (활성 여부에 관계없이) 각 탭에 해당하는 하위 프로세스를 종료하기에 충분하도록 새로 생성된 창을 닫고 싶습니다. 이것이 의미가 있기를 바랍니다.

관련 정보