터미널을 닫은 후에도 애플리케이션을 계속 실행하는 방법은 무엇입니까?

터미널을 닫은 후에도 애플리케이션을 계속 실행하는 방법은 무엇입니까?

저는 우분투를 처음 접했습니다. 저는 Sublime Text를 사용했습니다. 터미널에서 Sublime Text를 연 후 터미널을 닫으면 응용 프로그램이 계속 실행된다는 것을 깨달았습니다. .NET과 같은 다른 응용 프로그램의 경우에도 마찬가지입니다 geany.

터미널에서 애플리케이션을 연 후 터미널을 닫으면 애플리케이션도 닫힙니다. 나는 &exit다음과 같이 시도했다 geany &exit. 그러나 이것은 내가 찾고 있는 것이 아닙니다.

geany닫은 후에도 어떻게 계속 실행할 수 있나요 ?

답변1

편집하다:이는 특정 유형의 터미널에서만 작동할 수 있습니다. disown아래와 같이 명령을 시작한 후 명령을 하나 더 실행하여 응용 프로그램이 터미널 창과 연결 해제되도록 하는 것이 가장 좋습니다 .


터미널 창에서 다음을 입력하세요.

nohup geany > /dev/null
disown

또는

nohup geany >/dev/null &
disown

nohup응용 프로그램이 실행되고 끊김 현상이 발생하지 않도록 하므로 터미널 창을 닫아도 실행 중인 응용 프로그램에 아무런 영향을 주지 않습니다. 명령에 추가하면 응용 프로그램이 실행되는 각 디렉터리에 >/dev/null생성이 방지됩니다 .nohup.out

매뉴얼 페이지에서:

NAME
       nohup - run a command immune to hangups, with output to a non-tty

SYNOPSIS
       nohup COMMAND [ARG]...
       nohup OPTION

그리고

$ disown --help
disown: disown [-h] [-ar] [jobspec ... | pid ...]
    Remove jobs from current shell.
    
    Removes each JOBSPEC argument from the table of active jobs.  Without
    any JOBSPECs, the shell uses its notion of the current job.
    
    Options:
      -a    remove all jobs if JOBSPEC is not supplied
      -h    mark each JOBSPEC so that SIGHUP is not sent to the job if the
            shell receives a SIGHUP
      -r    remove only running jobs
    
    Exit Status:
    Returns success unless an invalid option or JOBSPEC is given.

답변2

대안으로 nohup쉘 내장을 사용할 수 있습니다 disown. disown작업 목록에서 작업을 제거하고 셸이 존재할 때 SIGHUP해당 프로세스로 전송되지 않습니다.

geany &
disown
exit

답변3

루트가 필요하지 않고 루트 권한이 필요한 경우 사용할 수 있습니다 exec geany & exit(exec 및 앰퍼샌드 참고) .pkexec geany & exit

관련 정보