Como usar o “fusor” para obter a lista de processos para a pasta aninhada enquanto estiver usando a pasta pai como argumento?

2

Estou usando o comando fuser para obter a lista de processos que acessam uma pasta. No entanto, se o processo estiver trabalhando em um arquivo presente em uma pasta interna, a execução do comando fuser no pai não fornecerá detalhes do processo que está sendo executado na pasta interna.

Existe alguma maneira de extrair os detalhes do processo das pastas internas também durante a execução de fuser no pai?

Estou trabalhando com o Solaris 5.8.

Abaixo está o código que eu tentei:

~: pwd
/home/ah388

~: ls
sasuser.v91/

~: cd sasuser.v91/
~/sasuser.v91: cat kk.sh
while [ 1 ]; do
echo "" > /dev/null
done;

~/sasuser.v91: ./kk.sh &
[1] 15140

~/sasuser.v91: ls
a/      kk.sh*

~/sasuser.v91: cd a
~/sasuser.v91: ls
kk.sh*

~/sasuser.v91/a: ./kk.sh &
[2] 15271

~/sasuser.v91/a: cd

~: fuser -u sasuser.v91
sasuser.v91:    15140c(ah388880) --> What about 15271 Process

~: jobs
[1]-  Running                 ./kk.sh &  (wd: ~/sasuser.v91)
[2]+  Running                 ./kk.sh &  (wd: ~/sasuser.v91/a)
    
por Avinash 24.12.2012 / 17:25

2 respostas

0

Isso mostrará todos os diretórios usados atualmente pelos usuários:

fuser -u $(find sasuser.v91 -type d) 2>&1 | grep 'c('
    
por 26.12.2012 / 00:38
0

Basta criar um script para realizar isso para você

for i in 'find directory -type d'
do
 echo $i
 fuser -u $i
done

Você pode até adicionar um if para ver se há alguma saída e apenas imprimir os com processos em execução.

    
por 25.12.2012 / 23:47

Tags