Estou tentando entender o processo exe no meu servidor Ubuntu
sudo ls -l /proc/6293/exe
lrwxrwxrwx 1 jenkins 65533 0 апр 4 09:03 /proc/6293/exe -> /usr/local/bin/node
Quando procuro no lixo
/usr/local/bin# ls node
ls: cannot access 'node': No such file or directory
Para onde esse elo simbólico realmente aponta?
Programas executáveis de um processo podem estar em um contêiner ou outro chroot sofisticado, ou o arquivo pode ter sido desvinculado enquanto ainda estava em execução.
No Linux, a maioria dos recursos de contêiner (Docker, Podman) ou gerenciador de serviços (SystemD) usam cgroups. Também visível no proc, dê uma olhada em
/proc/$pid/cgroup
Mapear esses recursos para tecnologias de contêiner desconhecidas nem sempre é óbvio. Embora às vezes seja, o Podman coloca "libpod" no caminho e um ID longo e grande que pode ser passado parapodman inspect
.O usuário "jenkins" implica o software Jenkins CI/CD. O nome do executável "node" implica algo escrito em Node.js. Não seria surpreendente ver aqui um processo de compilação de software que configura um ambiente completo, instalando tudo, excluindo-o e começando do zero na próxima compilação.
A ideia de mexer com isso
/usr/local/bin/node
me parece improvável. Em vez de simplesmente assumir que os nós do Jenkins têm o nodejs instalado. Esse é um caminho do sistema; normalmente, você não gostaria de executar um processo de compilação com privilégios. Mas este é um código arbitrário, então não tenho ideia do que seja essa coisa, muito menos de quão confusa ela é.Em última análise, alguém deve ser responsável pelo que este software é. Por mantê-lo funcionando para a sua organização, além de seguro. Se não for você e você estiver apenas fornecendo o servidor, ainda assim seria bom ter alguma curiosidade sobre o que está em execução e fazer algumas perguntas básicas. Isto usa nodejs? Como o Jenkins é usado para fazer isso acontecer? A execução de tarefas é implementada com contêineres?