O pidof retorna uma lista de pids separados por espaços. lsof -p requer uma vírgula separada. Isso pode ser resolvido com sed via:
lsof -p 'pidof postgres| sed -r 's/ /,/g''
No entanto, o tubo extra parece um pouco demais para uma operação simples. Existe uma maneira mais simples?
Uma boa alternativa é psgrep -d,
lsof -p $(pgrep -d , postgres)
-d Especifica o delimitador.
-d
Tags lsof io-redirection