마운트 해제된 USB3 드라이브에서 드라이브 검사를 실행 중입니다.
sudo fsck.ext4 -cDfty -C 0 /dev/sda1 &
그런데 백그라운드로 보내서 진행상황을 확인하고 싶습니다. 4TB 드라이브에서 35시간 동안 실행되었습니다.
진행상황을 확인할 수 있는 방법이 있나요?
답변1
먼저 프로세스가 여전히 터미널에 연결되어 있는지 확인해야 합니다.
$ ps -eo comm,tty | grep fsck
이제 프로세스 옆에 TTY 값이 계속 표시되면 이 TTY에서 해당 출력을 계속 얻을 수 있습니다. 를 사용하여 현재 TTY의 ID를 얻을 수 있습니다 tty
. 그러나 프로세스에 ?
다음 프로세스가 있으면 해당 출력을 얻을 수 없습니다(유사한 것을 사용하지 않는 한 screen
).
fg
프로세스가 여전히 실행 중인 터미널에 연결되어 있는 경우 다음을 사용하여 프로세스를 다시 포그라운드로 가져올 수 있습니다(물론 이 터미널에서).
$ jobs
$ fg [job ID]
jobs
실행 중인 프로세스와 관련된 ID를 제공합니다 fsck.ext4
. 그런 다음 전화할 때 사용하세요 fg
. fg
백그라운드에 작업이 하나만 있는 경우 매개변수 없이 호출할 수도 있습니다.
나는 그것에 익숙하지 않지만 fsck.ext4
당신 -t
이 사용하고 있는 스위치는 통계를 인쇄하는 것 같습니다(편집: -C 0
이 옵션도 마찬가지입니다). 프로세스를 다시 포그라운드로 가져오면 이 출력을 얻을 수 있습니다. 그러나 fsck.ext4
verbose 옵션을 사용하여 실행하지 않으면 전경이든 배경이든 아무 것도 인쇄되지 않습니다. 이 경우 다음을 ps
사용하여 아직 실행 중인지 확인할 수 있습니다.
Ctrl완료되면 +를 눌러 Z백그라운드에서 프로세스를 다시 보내세요. 그러나 프로세스가 터미널에 연결되어 있는 경우(즉, 프로그램이 터미널의 제어 세션에 속하는 경우) 터미널을 닫으면 SIGHUP
프로세스에 a가 전송되어 프로세스가 종료됩니다( fsck.ext4
ignore SIGHUP
s를 설정하지 않은 경우).