현재 파일이 가득 찬 4TB HDD의 권한과 소유권을 변경하고 있습니다. chmod, chown 등의 명령 진행 상황을 모니터링할 수 있나요?
답변1
실행 중인 프로세스에 연결하여 현재 수행 중인 작업을 확인할 수 있습니다. 그러면 그것이 어디에 있는지 알려줄 것입니다.
strace -p1234
1234
프로세스의 프로세스 ID는 어디에 있습니까 chmod
? 많은 시스템에서는 루트가 아닌 사용자가 하위 프로세스를 모니터링하도록 제한하므로 이를 루트로 수행해야 합니다.업그레이드 후 gdb가 프로세스에 연결되지 않습니다..
현재 처리 중인 파일이 무엇인지 아는 것은 처리된 내용을 쉽게 이해할 수 있는 방법을 제공하지 않습니다. chmod
깊이 우선 순서로 파일 트리를 탐색하고 ls -U
각 디렉터리를 디렉터리 순서(일반 순서와 다른 순서)로 탐색합니다.ls
프로세스가 처리한 파일 수를 아는 것이 좋을 것이며 프로세스가 수행한 시스템 호출 수를 알면 적어도 대략적으로 확인할 수 있지만 내가 아는 한 Linux는 프로세스가 수행한 시스템 호출 수를 추적하지 않습니다. 만들어진.
답변2
chmod $(whoami) -Rv /my/folder | pv --line-mode > /dev/null
-R
- 폴더의 내용을 반복적으로 표시합니다.-v
- 각 파일 또는 디렉터리에 대한 진단 정보 인쇄pv --line-mode
- 처리된 파일 및 폴더 수(해당 진단 라인)> /dev/null
- 진단 데이터 폐기
답변3
일반적으로 말하면, 아니요, 프로그램이 수행하는 작업을 표시하는 플래그가 없으며 프로세스가 시작될 때 플래그가 지정됩니다. (장황하게 만드는 경우 필요에 따라 다시 연결할 수 있도록 screen
또는 세션에 넣어야 합니다...)tmux
일부 유틸리티(예: dd
)는 자세한 내용을 전환하기 위해 사용자 신호를 허용하지만(예: 신호를 통해 USR1
) pkill -USR1 dd
이는 응용 프로그램마다 다릅니다( USR1
기본적으로 프로세스를 종료하므로 주의해서 사용하십시오).
간접 표시는 run 과 같은 또 다른 접근 방식으로 top
, 프로세스가 눈에 띌 만큼 충분한 CPU 또는 I/O 로드를 생성한다고 가정합니다(네트워크 결과를 기다리는 작업이 그다지 많은 작업을 수행하지 않는 것처럼 보일 수 있음).
프로세스 추적도 가능하지만 시스템 속도가 심각하게 느려질 수 strace
있습니다. 이러한 검사를 위한 더 저렴한 도구는 일정 기간 동안 얼마나 많은 관련 시스템 호출이 수행되었는지 dtrace
샘플링하고 보고할 수 있습니다 .chmod
답변4
pv
명령어를 보시면 됩니다 . 아직 내 시스템에는 없지만 파이프라인 트래픽을 모니터링하는 데 도움이 될 수 있습니다.
나는 당신이 비슷한 일을하고 있다고 가정합니다 :
find stuff -exec chmod 664 {} \;
파이프 브레이크 명령을 사용한 다음 PV 또는 티를 삽입하여 사물의 위치를 모니터링할 수 있습니다.
나는 대답을 하지 않았다는 것을 알고 있지만 아마도 이 아이디어가 도움이 될 것입니다.