Como eu sei onde (de qual diretório) o processo é comandado?

1

Estou executando uma simulação que é comandada para iniciar 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). No entanto, quero saber onde o comando é operado desde o ponto inicial, onde o arquivo que estou executando está localizado.

Eu apreciaria muito qualquer comentário útil!

Obrigado :)

    
por user214717 11.11.2013 / 17:57

3 respostas

1

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

    
por Jo-Erlend Schinstad 11.11.2013 / 18:00
1

Para ver o caminho do script python, normalmente você pode vê-lo com ps (usando a opção w , 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 com /home/romano como seu diretório atual.

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

% cat /proc/2136/cmdline | tr "
~% 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
" " " python /home/romano/software/wallpap/bg_slideshow.py %

em que "tr" imprime um espaço para cada caractere "nul" encontrado. (o% espúrio 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 ele: link

    
por Rmano 11.11.2013 / 18:06
0

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

    
por Luka Klarić 11.11.2013 / 18:00