터미널에서 애플리케이션 실행

터미널에서 애플리케이션 실행

중복 가능성:
실행 중인 명령을 종료하지 않고 터미널을 닫으려면 어떻게 해야 합니까?

터미널에서 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. 그러나 여전히 애플리케이션에서 터미널로 출력을 얻을 수 있습니다.

관련 정보