fuser
폴더에 액세스하는 프로세스 목록을 가져오는 명령을 사용하고 있습니다 . 그러나 프로세스가 내부 폴더에 있는 파일을 처리하는 경우 fuser
상위에서 명령을 실행하면 내부 폴더를 처리하는 프로세스에 대한 세부 정보가 제공되지 않습니다.
fuser
상위 폴더에서 실행할 때 내부 폴더의 프로세스 세부 정보를 추출 할 수 있는 방법이 있습니까 ?
저는 솔라리스 5.8을 사용하고 있습니다.
다음은 내가 시도한 코드입니다.
~:비밀번호 /집/ah388 ~:ls sasuser.v91/ ~: cd sasuser.v91/ ~/sasuser.v91: catkk.sh 그리고 [1]; 에코 "" > /dev/null 완벽한; ~/sasuser.v91:./kk.sh & [1]15140 ~/sasuser.v91:ls a/kk.sh* ~/sasuser.v91:cd ~/sasuser.v91:ls kk.sh* ~/sasuser.v91/a: ./kk.sh & [2]15271 ~/sasuser.v91/a:cd ~:fixer-u sasuser.v91 sasuser.v91: 15140c(ah388880) --> 15271 프로세스가 어떻게 되나요? ~:일 [1]- ./kk.sh & (wd: ~/sasuser.v91) 실행 [2]+ ./kk.sh & (wd: ~/sasuser.v91/a) 실행
답변1
그러면 사용자가 현재 사용하는 모든 디렉터리가 표시됩니다.
fuser -u $(find sasuser.v91 -type d) 2>&1 | grep 'c('
답변2
그냥 당신을 위해 스크립트를 작성하세요
for i in `find directory -type d`
do
echo $i
fuser -u $i
done
if를 추가하여 일부 출력이 있는지 확인한 다음 실행 중인 프로세스의 출력을 인쇄할 수도 있습니다.