Tente isto:
ls -l /proc/<PID>/cwd
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?
Resposta da rom do HUB:
readlink /proc/<PID>/cwd
ou até mesmo
readlink /proc/$(pgrep <program_name>)/cwd
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
.
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
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
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