터미널에서 GUI 애플리케이션(예: gedit)을 실행하고 이를 한 번에 터미널에서 분리하는 방법은 무엇입니까?
답변1
이것&Operator를 사용하면 애플리케이션이 백그라운드에서 실행될 수 있습니다. 사용
nohup gedit
또는
nohup gedit &
(후자는 gedit를 시작한 후 터미널을 사용할 수 있으며 Enter 키를 눌러 백그라운드로 보낼 수 있습니다.) Nohup
터미널과 세션에서 애플리케이션을 완전히 디스패치합니다.
답변2
두 가지 단계가 관련됩니다. 하나는 종종 "배경"이라고 불리고 다른 하나는 "거부"라고 불립니다.
&
명령에 "&" 기호를 추가하여 백그라운드 작업을 시작할 수 있습니다. 그러면 작업이 백그라운드로 전송되고 쉘이 계속 실행될 수 있습니다. 백그라운드에서 실행하는 명령은 여전히 셸의 하위 프로세스로 실행됩니다. 실행 중인 쉘 작업 목록에서 이를 볼 수 있습니다jobs
. 실행하거나fg
(또는fb %N
여러 개의 백그라운드 작업이 있는 경우) 전경으로 가져와서 CtrlC.disown %N
여기서 N은 작업 번호를 실행하여 작업을 거부할 수 있습니다 . 백그라운드 작업이 하나만 있는 경우 이것이 바로disown %1
"백그라운드 작업을 둥지에서 제거"하여 더 이상 셸의 하위 프로세스가 아닙니다. 그런 다음 셸을 닫으면 거부된 프로그램이 계속 실행됩니다.
참고: ZSH에서는 프로세스를 실행하여 소유권을 신속하게 취소할 수 있습니다 command &!
. &!
상황과 거부를 단계별로 알아보세요.
답변3
이미 실행했다면 ctrl-z를 누르고 를 입력한 bg
다음 을 누르세요 disown
. 그러나 여전히 애플리케이션에서 터미널로 출력을 얻을 수 있습니다.