Ho 30 istanze di un processo in esecuzione su un server e voglio registrare i file aperti per ogni processo per l'analisi.lsof dovrebbe fornire tutti i file aperti per una serie di pids
Ho eseguito il seguente comando:
* ps auwwx | grep PROG_NAME | awk '{print $2}' | xargs lsof -p | less
It denunce che, "lsof: errore di stato on: No such file or directory"
Tuttavia, se corro lsof -p <pid>
mi la dà elenco di file aperti per quel processo. Come posso ottenere un elenco di tutti i file aperti per tutte le 30 istanze del processo su una macchina FreeBSD.
Inoltre, non desidero elencare le librerie condivise. Se faccio -d "^txt"
non mostra altri file db che voglio mostrare. C'è un altro modo per annullare i file .so?
FYI per Internet passante: volevo risolvere un problema simile - contando il numero di file aperti per processo, in particolare Java. L'ho fatto in questo modo: 'pgrep java | xargs -I {} bash -c 'printf {}; lsof -p {} | wc -l'' –