페어링된 터미널 내에서 또는 링크 버튼을 통해 시작한 페어링된 터미널의 모든 인스턴스에는 동일한 PID가 있는 것으로 나타났습니다.
예를 들어, 나는 다음과 같은 것을 얻습니다.
$ wmctrl -lp
<omitted lines that don't matter>
0x03c0001f 1 7411 <hostname> Terminal
0x03c06b9f 1 7411 <hostname> Terminal
0x03c07349 1 7411 <hostname> Terminal
0x03c073f4 1 7411 <hostname> Terminal
0x03c0749f 1 7411 <hostname> Terminal
0x03c0754c 1 7411 <hostname> Terminal
0x03c075f9 1 7411 <hostname> Terminal
0x03c076a6 1 7411 <hostname> Terminal
0x0340000b 1 <pid1> <hostname> xeyes
0x0460000b 1 <pid2> <hostname> xeyes
이는 모두 동일한 PID를 가진 여러 개의 터미널 창이 있음을 분명히 보여줍니다. 상술 한 바와 같이,프로세스가 터미널 내에서 시작되는지 아니면 메뉴 표시줄 링크를 클릭하여 시작되는지는 중요하지 않습니다.. 터미널 내에서 백그라운드에서 프로세스를 시작하는지 여부도 중요하지 않습니다.
여기에는 어떤 규칙이 적용됩니까? 또는 "왜 이런 일이 발생합니까?"
나의 과거 이해는 쉘에서 시작한 모든 명령이 고유한 PID를 갖게 된다는 것이었습니다.
동일한 PID를 가진 여러 터미널을 갖는 것은 약간 비현실적이지 않습니까?
더 이상 PID를 통해 개별적으로 삭제할 수 없습니다.
편집: 커널 버전: 3.16.0-4-amd64
답변1
Mate Terminal의 모든 인스턴스는 실제로 여러 창을 표시하는 단일 프로세스이기 때문에 동일한 PID를 갖습니다. Mate Terminal은 응용 프로그램이 설계된 방식이므로 단일 프로세스에서 실행됩니다. 이 명령을 실행하면 mate-terminal
기존 프로세스에 접속하여 새 창을 열라는 지침을 보냅니다.
Mate Terminal 1.8.1부터 mate-terminal --disable-factory
새로운 프로세스를 실행하여 새 창을 열 수 있습니다. 이 옵션에는Gnome 버전 3.10에서 제거됨;Mate 개발자가 해당 변경 사항을 병합하기로 결정했는지는 알 수 없습니다. 바라보다gnome-terminal의 실제 다중 프로세스 인스턴스 실행Gnome 터미널에 관한 비슷한 질문입니다.
답변2
"왜"라는 질문에 실제로 대답해 보세요.
각 창이 다른 프로세스에 의해 처리되는 경우 한 창에서 다른 창으로 탭을 끌어서 놓을 수 없으며 해당 목적을 위한 새 창을 만들기 위해 탭을 바탕 화면으로 끌어서 놓을 수 없습니다.