Localizando o nome do arquivo / localização do script bash em execução no servidor usando PID

1

Como um exercício de treinamento para a nova empresa em que trabalho, um amigo colocou um script no meu servidor que exibe ( ͡° ͜ʖ ͡°) no canto superior direito da tela da minha CLI e, em seguida, é enviado para o servidor.

Usando ps -ef , encontrei o script em execução:

root     20071     1  0 Oct07 ?        00:03:04 bash

Eu tentei executar:

ps -p 20071 -o comm=

Quais saidas = bash

Eu também tentei l -la /proc/20071/exe

Quais saídas =

lrwxrwxrwx 1 root root 0 Oct  7 21:03 /proc/20071/exe -> /bin/bash*

Estou no usr/bin/ em que acredito que o script esteja localizado, mas não consigo isolá-lo, pois não vejo bash referenciado nessa pasta.

Eu sou relativamente novo no CLI, então sei que devo estar perdendo algo óbvio. O próprio script é chamado de bash, ou isso é apenas exibindo o tipo? Estou assumindo que o script é um arquivo .sh, mas não tenho certeza.

Existe uma maneira de determinar o mesmo do script que está sendo executado e onde ele está localizado usando PID ou outro método?

    
por CRYPTODOOM 08.10.2015 / 18:48

1 resposta

2

Este é um script bash, então o processo está executando /bin/bash . Isso é normal.

O script é aberto pelo processo bash. Use ls -l /proc/20071/fd ou lsof -p 20071 para listar os arquivos abertos por esse processo. Você encontrará o script no descritor de arquivo 255 por padrão.

cat /proc/20071/fd/255

(Se isto é o que está fazendo com que os símbolos fonéticos e diacríticos apareçam no seu terminal, e como está sendo feito, são assuntos separados para os quais você não tem informações suficientes no momento.)

    
por 09.10.2015 / 02:45