Isso mostrará todos os diretórios usados atualmente pelos usuários:
fuser -u $(find sasuser.v91 -type d) 2>&1 | grep 'c('
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)
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.