Como posso saber onde (de qual diretório) o processo é comandado?

Como posso saber onde (de qual diretório) o processo é comandado?

Estou executando uma simulação que é comandada para começar em algum diretório, mas não lembro de qual diretório comandei a simulação. Estou usando python para executar a simulação, então

ps aux | grep PID

mostra apenas onde o programa em execução está localizado. (/usr/bin/python). Porém, quero saber onde o comando é operado desde o ponto inicial, onde está localizado o arquivo que estou executando.

Eu apreciaria muito qualquer comentário útil!

Obrigado :)

Responder1

Talvez você queira usar o historycomando para ver qual comando você realmente usou?

Responder2

Para ver o caminho do script python, normalmente você pode vê-lo com ps(usando a wopção , wide, se necessário):

~% ps ugxw | grep python
romano    2136  0.0  0.2  10524  4132 ?        S    09:13   0:00 python /home/romano/software/wallpap/bg_slideshow.py
romano    5839  0.0  0.0   4440   832 pts/1    S+   10:00   0:00 grep python

Por exemplo, o processo 2136 é o script /home/romano/software/wallpap/bg_slideshow.py. Se você quiser saber qual é o diretório de trabalho do processo, faça

~% ls -l /proc/2136/cwd
lrwxrwxrwx 1 romano romano 0 Nov 11 10:04 /proc/2136/cwd -> /home/romano

O processo está sendo executado /home/romanocomo seu diretório atual.

No arquivo /proc/2136/cmdlinehá a especificação completa da linha de comando --- a mesma que você vê em ps, com os comandos e argumentos separados por bytes com valor 0 (para preservar os espaços). Você pode vê-lo em seu terminal com

% cat /proc/2136/cmdline | tr "\0" " "
python /home/romano/software/wallpap/bg_slideshow.py % 

onde "tr" imprime um espaço para cada caractere "nul" encontrado. (o% falso no final é devido ao arquivo não terminar com um caractere de nova linha).

O sistema de arquivos /proc é uma ferramenta realmente útil --- a documentação completa é um pouco "difícil", mas geralmente é útil ter um link para ela:https://www.kernel.org/doc/Documentation/filesystems/proc.txt

Responder3

Use o whichcomando. Por exemplo, which ifconfigexibe a localização do comando ifconfig.

informação relacionada