쉘에서 로그 아웃 할 때 쉘에서 시작한 명령을 유지하려면 어떻게해야합니까?


12

쉘에서 로그 아웃 한 후 쉘에서 시작된 명령을 실행하기 위해 어떤 방법이 존재합니까?

답변:


11
  • 응용 프로그램을 백그라운드에 넣으려면 &다음을 사용하십시오 .

    command &
    
  • 당신이 터미널을 닫고 응용 프로그램을 계속 실행하려면, 당신은 몇 가지 옵션을 사용할 수 있습니다 , 하고 .screen 설치 화면dtach dtach 설치nohup

    nohup command &
    
  • 화면은 세션을 다시 시작할 수 있고 dtach도 재미있어서 도움이됩니다.

  • 자세한 내용은 다음 링크를 참조하십시오


&명령 끝에을 추가해도 작동하지 않습니까?
theTuxRacer

2
@를 사용하여 @ Kaustubh-P를 사용하면 X 닫기 버튼을 누르지 않고 'exit'명령을 통해 터미널을 닫을 수 있습니다. 여전히 백그라운드 프로그램을 강제 종료 할 수 있습니다.
karthick87

5

다음과 같이 nohup 명령을 사용하십시오.

nohup gedit /home/user/file.txt &

nohup을 제거하는 방법 : 입력을 무시하고 stderr를 stdout으로 리디렉션
Amruth A

5

유용한 (bash?) 명령은 disown입니다. 이것에 대한 좋은 점은 이미 실행중인 작업에서 작동한다는 것입니다 (그런데, 프로세스가 아닌 작업을 제거하므로 ctrl-Z, bg작업에서 disown을 실행하기 전에 수행해야합니다 . 예를 들어, 다음을 수행한다고 상상해보십시오.

local % ssh some.where.com
remote % verylongscript.sh

이제 나가야한다는 것을 알고 종료 할 때 스크립트가 종료되는 것을 원하지 않으므로

ctrl-Z
remote % bg
remote % disown
remote % exit
local %

이제에 remote스크립트가 여전히 실행 중입니다.


1

나는 사용한다

nohup mycommand &

예를 들어 VirtualBox 가상 서버를 불러 오려면 원격 쉘에 다음을 입력하십시오 (그런 다음 닫습니다).

nohup VBoxHeadless --startvm "myvm" --vrdp=off &
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.