Talvez você queira usar o comando history
para ver qual comando você realmente usou?
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 :)
Talvez você queira usar o comando history
para ver qual comando você realmente usou?
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
Use o comando which
. Por exemplo, which ifconfig
produz a localização do comando ifconfig.