Como determino o caminho para um binário de um processo?
30
Existe uma maneira de descobrir o local do diretório / disco em que um processo foi iniciado? Estou ciente da montagem / proc, mas não sou realmente onde procurar dentro dela.
Você pode fazer coisas legais com /proc/$pid/exe, se o binário for excluído acidentalmente, você pode restaurá-lo com:dd if=/proc/$pid/exe of=restored-binary
Lekensteyn
1
Pressione Ctrl+ Alt+ Tpara ir para um terminal e digite:
ls -al /proc/{pid}/fd
e depois verifique a saída
Isso listará todos os arquivos aos quais seu processo está associado ...
Poderia, por favor rever minhas edições e também rever o ajuda a edição para melhorar a legibilidade de suas respostas no futuro ... ;-)
Fabby
0
Todos os comandos nas outras respostas são bons, mas você pode fazer ainda mais - vendo como algum processo foi realmente executado antes de chegar à lista de processos.
Execute no terminal:
top
E enquanto estiver em execução, pressione o teclado Ce você obterá um comando dos processos que foram executados.
Respostas:
A
/proc
maneira seria inspecionar oexe
link no diretório correspondente ao pid.Vamos dar um exemplo com
update-notifier
:Encontre o pid, que é 15421 neste exemplo:
Procure o link simbólico:
fonte
Talvez
which
seja o que você está procurando. Por exemplo, no meu sistemaretorna
Consulte também Localizar caminho do aplicativo em execução no Solaris, Ubuntu, Suse ou Redhat Linux .
fonte
which
é legal, mas só retorna programas em seu $ PATH. Se eu correrRandomProgramIDownloadedToErisKnowsWhere.bin
, isso não será muito útil.Desde que você tenha um ID do processo disponível, você pode usar:
(substitua
$pid
pelo ID do processo)Se o processo não pertencer a você, você terá que colocá-lo
sudo
na frente dele.Um exemplo para determinar a localização do comando
firefox
:A saída de
ps ax -o pid,cmd | grep firefox
:28179
é o ID do processo, então você deve executar:quais saídas:
fonte
/proc/$pid/exe
, se o binário for excluído acidentalmente, você pode restaurá-lo com:dd if=/proc/$pid/exe of=restored-binary
Pressione Ctrl+ Alt+ Tpara ir para um terminal e digite:
e depois verifique a saída
Isso listará todos os arquivos aos quais seu processo está associado ...
fonte
Todos os comandos nas outras respostas são bons, mas você pode fazer ainda mais - vendo como algum processo foi realmente executado antes de chegar à lista de processos.
Execute no terminal:
E enquanto estiver em execução, pressione o teclado
C
e você obterá um comando dos processos que foram executados.fonte