예를 들어 저는 터미널에서 GUI 프로그램을 시작하는 것을 좋아합니다 emacs myfile.txt
. 하지만 그렇게 하면 프로세스와 함께 터미널 창이 열려 있으므로 이제 추적할 수 있는 두 개의 창이 있습니다. 터미널 창을 닫으면 GUI 프로그램이 닫힙니다.
실행할 수 있다는 것을 알고 있습니다 exec cmd
. cmd
실행하려는 명령이 어디에 있는지 확인한 다음 터미널 창을 닫습니다.뒤쪽에프로그램이 완료되었습니다. 그런데 명령 실행 후 터미널 창을 닫고 싶습니다발표. 이를 수행할 수 있는 방법이 있습니까?
답변1
이 함수를 다음에 추가할 수 있습니다 ~/.bashrc
.
openclose() {
"$@" &
disown
exit
}
새 터미널(또는 )을 열고 실행하여 source ~/.bashrc
테스트해 보세요 .
openclose emacs myfile.txt
"$@" &
이 명령을 백그라운드에서 실행하세요.disown
셸에서 백그라운드 프로세스를 제거하므로(help disown
및man bash
, 신호 섹션 참조) 셸이 닫혀도 프로세스가 여전히 존재합니다.exit
쉘을 종료하십시오.