Como descobrir a partir de qual pasta um processo está sendo executado?

13

No * nix você pode usar ps para ver qual processo está sendo executado. Mas se um executável tiver vários arquivos homonimous em um dispositivo, não poderemos descobrir de onde ele foi chamado.

Isso é um pouco diferente da minha última pergunta sobre esse assunto. Como posso saber o caminho absoluto de uma corrida processo?

    
por Jader Dias 20.06.2011 / 18:37

6 respostas

20

Tente isto:

ls -l /proc/<PID>/cwd
    
por 20.06.2011 / 18:44
7

Resposta da rom do HUB:

readlink /proc/<PID>/cwd

ou até mesmo

readlink /proc/$(pgrep <program_name>)/cwd
    
por 20.06.2011 / 21:57
2

Você não pode dizer onde um processo foi chamado de , somente onde atualmente é . Observe o link cwd ("diretório de trabalho atual") em vez de exe .

    
por 20.06.2011 / 18:43
2

Duplicata de link ?

There are 3 methods that I'm aware of:

pwdx

$ pwdx PID

lsof

$ lsof -p PID | grep cwd

/proc

$ readlink -e /proc/PID/cwd

    
por 22.11.2016 / 09:42
1

Eu acho que este comando deve funcionar. É uma pequena solução, mas funciona pelo menos na minha máquina.

for strlist in $(ps e PID);do if [ ${strlist:0:4} = "PWD=" ]; then echo ${strlist:4};fi;done

    
por 10.11.2011 / 12:14
0

Quando eu corri

ps auxwwwe | grep executableName > dump
vim dump

Consegui procurar a parte do caminho que conhecia e, em seguida, descobri de qual subdiretório o comando foi invocado a partir de

    
por 20.06.2011 / 18:44

Tags