Algum destes fornece informações?
ps -ef
ps -eLf
ps axms
Ou talvez
ps -o cmd = -p $ PID
Isso pode ser mais útil:
readlink -f / proc / $ PID / exe
?
Se eu tiver uma saída do ps como a seguinte, existe alguma maneira de determinar onde 'blah' está no sistema de arquivos? Para minha situação específica, o -p especifica em qual porta o aplicativo deve ser executado.
user 22913 22470 0 09:58 ? 00:00:06 ./blah -p 12345
A minha pergunta é basicamente se é possível ou não encontrar a localização de um executável, dado o PID ou a porta da aplicação. A distro usada é Redhat.
Como Bart sugeriu,
readlink -f /proc/$PID/exe
Você deve dar sua resposta.
Para construir o material do readlink, outra maneira pode ser readlink -f /proc/$PID/cwd
. Isso exibirá o diretório de trabalho atual de um processo, que pode ser útil se você tiver executado um script bash, já que o link exe é, em seguida, / bin / bash, com um argumento de ./blah.
E como um pouco mais de informação aleatória, você pode simplesmente fazer um cd para / proc / $ PID. Haverá links simbólicos para o cwd e exe, como mencionado, bem como onde o diretório raiz do processo é (útil se o chrooted) ls -l
mostrará onde eles estão apontando, o que é essencialmente o que o readlink está fazendo.
sudo /usr/sbin/lsof -p 22913