e2fsck에 진행 정보를 표시하려면 어떻게합니까?


42

나는 매우 큰 (1TB +) ext3 디스크에서 e2fsk를 실행하고 있습니다.

e2fsck -v /dev/sda1

RIPLinux에서 PXE로 부팅했습니다.

나는 얻다

e2fsck 1.41.6 (30-May-2009)
/dev/sda1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes

그리고 아주 긴 일시 정지 ...

활동에 대한 아이디어를 얻으려면 어떻게해야합니까?

이상적으로는 완료된 항목 대 총 및 일부 ETA의 수입니다.


그러나 완료 표시 줄이 표시되기 전에 "Pass 1 : Inode, 블록 및 크기 확인"메시지가 표시된 후 잠시 시간이 걸릴 수 있습니다. 완료 표시 줄을 업데이트하지 않는 Pass 1의 초기 단계가 있다고 생각하지만 실제로 큰 디스크에는 상당한 시간이 걸립니다.
user2864482

답변:


70

-C플래그는 진행 표시 줄을 표시합니다. fsck 호출 방식에 따른 성능 차이

그리고 e2fsck이미 시원하게 진행 중이 면 USR1진행률 표시 줄을 표시하기 위해 신호를 보낼 수 있습니다 . USR2그만하다. 예:

killall -USR1 e2fsck

FSCK (8)에서 :

   -C     Display completion/progress bars for those filesys-
          tems  checkers (currently only for ext2) which sup-
          port them.   Fsck will manage the filesystem check-
          ers  so  that  only  one  of  them  will  display a
          progress bar at a time.

E2FSCK (8)에서 :

   -C fd  This  option  causes  e2fsck  to  write  completion
          information  to  the  specified  file descriptor so
          that the progress of the filesystem  check  can  be
          monitored.   This  option is typically used by pro-
          grams  which  are  running  e2fsck.   If  the  file
          descriptor specified is 0, e2fsck will print a com-
          pletion bar as it goes about  its  business.   This
          requires  that e2fsck is running on a video console
          or terminal.

2
매뉴얼 페이지가 다른 버전의 e2fsck 용인 것 같습니다. 내 버전에서 답변을 게시 할 것이지만 매우 가깝고 귀하의 답변은 매뉴얼 페이지의 올바른 부분을 읽을 수 있도록 충분했습니다. 매우 감사합니다!
Tim Abell

아, 좋은 전화 .. 나는 업데이트했다. 천만에요.
Warner

4
흠 ... 오늘 나는 fsck에서 그 출력을 얻는 USR 신호를 배웠다. 지식에 감사드립니다, @Warner.
바트 실버 스트림

1
-USR1 플래그는 매우 중요합니다. 공감할 수 있도록 여기에 계정을 만들었습니다.
Rajesh J Advani

17

버전 1.41에 대한 매뉴얼 페이지에서

   -C fd  This option causes e2fsck to write completion information to the specified file descriptor so that the progress of the
          filesystem  check  can be monitored.  This option is typically used by programs which are running e2fsck.  If the file
          descriptor number is negative, then absolute value of the file descriptor will be used, and the  progress  information
          will  be  suppressed  initially.  It can later be enabled by sending the e2fsck process a SIGUSR1 signal.  If the file
          descriptor specified is 0, e2fsck will print a completion bar as it goes  about  its  business.   This  requires  that
          e2fsck is running on a video console or terminal.

답은

e2fsck -C 0 /dev/sda1

3

ps -ef | grep fsck

  5079  5007 47 00:55 pts/1    00:08:25 /sbin/fsck.ext3 -yv /dev/hda2

프로세스 ID로

킬 -USR1 5079


2
이 답변은 사용자 가 지시를 따르는 이유 를 이해하는 데 도움이되는 상황에 맞는 정보를 제공하지 않는다는 점을 제외하고는 허용 된 답변과 동일합니다 . 앞으로 해결책 의 방법과 이유 ( "사람에게 물고기를 가르치기"원칙) 를 설명하는 답변을 선호한다는 점에 유의하십시오 .
voretaq7

3

왜?

BSD 시스템과 그 하위 항목에는 SIGINFO 신호가 있습니다. 프로그램이 현재 상태를 콘솔에 출력하도록합니다. 많은 기본 BSD 도구가이 신호에 대해 알고이를 지원합니다. Ctrl + T를 사용하여이 신호를 현재 프로세스로 보낼 수 있습니다.

SysV 시스템에는 그러한 신호가없고 Ctrl + T도 없습니다. 일부 Linux 도구는 SIGUSR1을 대신 지원합니다. "dd"와 "e2fsck"에 대해서만 알고 있지만 더있을 수 있습니다. Ctrl +가 없습니까? 바로 가기를 보내려면 프로세스의 pid에서 "kill -USR1"을 사용하여 수동으로 보내야합니다.

대부분의 다른 프로그램은 SIGTERM (종료)에 반응하는 것과 같은 방식으로 SIGUSR1에 반응하므로 지원되는 것을 알지 않는 한이 신호를 보내지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.