나는 가끔 SSH를 통해 액세스하는 Debian Squeeze를 실행하는 저가형 "서버"를 가지고 있습니다. 시스템이 느린 경향이 있습니다. 예를 들어 apt-cache search
실행하는 데 30분 정도 걸릴 수 있습니다. 때로는 프로세스가 완료될 때까지 기다릴 수 없다는 것을 알게 됩니다(노트북을 사용 중이어서 다른 곳으로 가야 합니다).
nohup
screen
처음 에 . 그런데 로그아웃하더라도 이미 실행 중인 프로세스를 계속 실행하려면 어떻게 해야 합니까?
답변1
bash, ksh, zsh 또는 기타 유사한 셸을 사용한다고 가정하면 프로세스를 백그라운드에 두고 실행할 수 있습니다 disown
. 특히 bash
다음을 원할 수도 있습니다 disown -h
.
Bash 도움말 페이지에서 disown
:
disown: disown [-h] [-ar] [jobspec ...]
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
disown
Bash 또는 zsh를 사용하는 경우 로그아웃하기 전에 내장 명령을 사용하세요.
에서 man zshall
:
disown [ job ... ]
job ... &|
job ... &!
Remove the specified jobs from the job table; the shell will no
longer report their status, and will not complain if you try to
exit an interactive shell with them running or stopped. If no
job is specified, disown the current job.