이전 쉘에서 백그라운드 작업을 재개하는 방법은 무엇입니까? [복사]

이전 쉘에서 백그라운드 작업을 재개하는 방법은 무엇입니까? [복사]

중복 가능성:
실행 중인 프로세스를 거부하고 이를 새 화면 셸에 연결하는 방법은 무엇입니까?

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"를 사용하여 전경으로 가져올 수 없는 이유는 이러한 명령이 실제로 쉘에 내장되어 있기 때문입니다. 기술적으로는 연결된 터미널에서 프로세스를 분리하지 않으므로 셸을 종료하면~해야 한다종료도 합니다(종료하려고 하면 경고가 표시됩니다).

관련 정보