터미널에서 GUI 프로그램을 시작하고 시작한 후 터미널을 닫으려면 어떻게 해야 합니까? [복사]

터미널에서 GUI 프로그램을 시작하고 시작한 후 터미널을 닫으려면 어떻게 해야 합니까? [복사]

예를 들어 저는 터미널에서 GUI 프로그램을 시작하는 것을 좋아합니다 emacs myfile.txt. 하지만 그렇게 하면 프로세스와 함께 터미널 창이 열려 있으므로 이제 추적할 수 있는 두 개의 창이 있습니다. 터미널 창을 닫으면 GUI 프로그램이 닫힙니다.

실행할 수 있다는 것을 알고 있습니다 exec cmd. cmd실행하려는 명령이 어디에 있는지 확인한 다음 터미널 창을 닫습니다.뒤쪽에프로그램이 완료되었습니다. 그런데 명령 실행 후 터미널 창을 닫고 싶습니다발표. 이를 수행할 수 있는 방법이 있습니까?

답변1

이 함수를 다음에 추가할 수 있습니다 ~/.bashrc.

openclose() {
    "$@" &
    disown
    exit
}

새 터미널(또는 )을 열고 실행하여 source ~/.bashrc테스트해 보세요 .

openclose emacs myfile.txt
  • "$@" &이 명령을 백그라운드에서 실행하세요.
  • disown셸에서 백그라운드 프로세스를 제거하므로( help disownman bash, 신호 섹션 참조) 셸이 닫혀도 프로세스가 여전히 존재합니다.
  • exit쉘을 종료하십시오.

관련 정보