Pfiles
Solaris 10 doesn't come with lsof, and a non-root user can't compile and run lsof. However, the pfiles command in Solaris 10 can offer similar functionality. Unfortunately, it doesn't list all files from all processes, but you can check on a single process.
$ pfiles 4653 | grep "/" | grep -v "/devices/" 4653: /opt/java/jdk1.5.0_14/bin/amd64/java -Djboss.deploy.env=rhubarb /logs/application/serverlog/stdout.200807312021.log /logs/application/serverlog/gc.log /var/run/name_service_door /logs/application/serverlog/prod.log /u/prod/servers/jboss-r/server/20080731/data/hypersonic/localDB.lck /u/prod/servers/jboss-r/server/20080731/data/hypersonic/localDB.log
The linux netstat command has the option to show process id's of the process owning the socket. Solaris doesn't have this capability, but you can get similar affect with pfiles.
$ pfiles 8397 | grep port sockname: AF_INET 10.136.2.242 port: 8080 $ ps -u ${USER} | awk ' { print $1; }' | xargs pfiles | grep port | sort | uniq peername: AF_INET 10.123.2.151 port: 8080 peername: AF_INET 10.123.2.151 port: 9080