![이전 쉘에서 백그라운드 작업을 재개하는 방법은 무엇입니까? [복사]](https://linux55.com/image/25859/%EC%9D%B4%EC%A0%84%20%EC%89%98%EC%97%90%EC%84%9C%20%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C%20%EC%9E%91%EC%97%85%EC%9D%84%20%EC%9E%AC%EA%B0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
bg
나는 오랫동안 지속되는 명령을 시작했습니다. 연결을 끊어야 해서 종료하기 전에 (CTRL+Z 및 를 사용하여) 배경으로 옮겼습니다.
이 같은:
$ my_command
***command is beeing executed and is taking a long time***
^Z
[1]+ Stopped my_command
$ bg
[1]+ my_command &
$ exit
다시 연결했는데 프로세스 목록에서 명령을 볼 수 있지만 작동하지 않습니다 fg
.
$ fg
-bash: fg: current: no such job
포그라운드에서 작업을 재개하려면 어떻게 해야 합니까?
답변1
어딘가에서 무언가를 시작하여 배경으로 설정한 후 이제 새 터미널에 연결해야 하는 경우 다음을 사용할 수 있습니다.reptyr
다시 연결하세요. ( man
페이지에는 명령이 "실행 중인 프로그램을 새 터미널로 다시 지정합니다."로 요약되어 있습니다.)
"jobs" 명령에서 이를 볼 수 없거나 "fg"를 사용하여 전경으로 가져올 수 없는 이유는 이러한 명령이 실제로 쉘에 내장되어 있기 때문입니다. 기술적으로는 연결된 터미널에서 프로세스를 분리하지 않으므로 셸을 종료하면~해야 한다종료도 합니다(종료하려고 하면 경고가 표시됩니다).