![gnome-terminal cmd는 상위 창을 닫은 후에도 프로세스를 열어 둡니다.](https://linux55.com/image/45588/gnome-terminal%20cmd%EB%8A%94%20%EC%83%81%EC%9C%84%20%EC%B0%BD%EC%9D%84%20%EB%8B%AB%EC%9D%80%20%ED%9B%84%EC%97%90%EB%8F%84%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC%20%EC%97%B4%EC%96%B4%20%EB%91%A1%EB%8B%88%EB%8B%A4..png)
다음의 간단한 명령은 내 문제를 설명합니다.
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인 것으로 밝혀졌습니다. 원래 소스 터미널을 종료하지 않고도 (활성 여부에 관계없이) 각 탭에 해당하는 하위 프로세스를 종료하기에 충분하도록 새로 생성된 창을 닫고 싶습니다. 이것이 의미가 있기를 바랍니다.