
Ctrl+z는 현재 작업을 백그라운드로 보내지만 중지합니다.
중지된 작업을 재개하는 방법은 무엇입니까?
답변1
"bg"를 실행하여 백그라운드에서 실행할 수 있습니다.
"fg"를 누르면 전경으로 이동합니다.
bg 및 fg는 PID 대신 작업 번호를 사용하므로 한 번에 여러 작업을 실행하는 경우 "jobs" 명령을 사용하여 작업 번호를 가져옵니다.
답변2
명령줄에 "&"를 사용하여 백그라운드 작업으로 프로그램을 시작할 수도 있습니다.
예를 들어
내 프로그램 &
출력(stdout 및 stderr 모두)은 여전히 현재 tty로 이동하므로 일반적으로 다음과 같이 /dev/null 또는 로그 파일로 리디렉션하는 것이 좋습니다.
내 프로그램 > ~/program.log 2>&1 &
두 예 모두 다른 작업과 마찬가지로 백그라운드 작업이므로 'fg'를 사용하여 다시 포그라운드로 가져올 수 있습니다(그러나 출력을 리디렉션한 경우에는 많이 볼 수 없습니다).
답변3
Bash에서 "bg"를 입력하면 입력이 필요한 작업이 차단될 때까지 작업이 백그라운드로 전환됩니다. 계속해서 STDERR 및 STDOUT으로 출력되므로 도움이 되지 않을 수 있습니다. 작업을 다시 포그라운드로 가져오려면 "fg"를 입력할 수 있습니다.
[adjuster@mx02 ~]$ cp ~/crap/* ~/crap2
(Ctrl-Z)
[1]+ Stopped cp ~/crap ~/crap2
[adjuster@mx02 ~]$ cp ~/crap3/* ~/crap4
(Ctrl-Z)
[2]+ Stopped cp ~/crap3/* ~/crap
[adjuster@mx02 ~]$ jobs
[1]+ Stopped cp ~/crap ~/crap2
[2]+ Stopped cp ~/crap3/* ~/crap
[adjuster@mx02 ~]$ bg 1
[1]- cp ~/crap ~/crap2 &
[1]- Exit 1 cp ~/crap ~/crap2
[adjuster@mx02 ~]$ fg 2
[adjuster@mx02 ~]$
즉, 긴 복사 작업을 시작하고 일시 중단하고, 두 번째 긴 복사 작업을 시작하고 일시 중단한 다음, 첫 번째 복사 작업을 백그라운드로 두고 실행한 후 첫 번째 복사 작업을 종료하는 것입니다. 그런 다음 마지막 복사 작업을 전경에 놓고 완료되도록 합니다.
답변4
또 다른 옵션은 우수합니다.화면터미널을 열어두지 않고도 동시에 많은 프로세스를 실행하는 데 사용할 수 있는 유틸리티입니다. 또한 bg 및 fg보다 훨씬 쉽게 상호 작용할 수 있습니다.