Ubuntu: arquivo / proc / pid / comm ausente

2

Na minha caixa de desenvolvimento, em /proc/[pid]/ existe um arquivo chamado comm contendo o nome do executável para aquele processo. Eu uso isso para validar o processo para o qual estou enviando um sinal. Em nosso servidor ativo, ele não existe. Ambas as máquinas estão executando o Ubuntu 12.04.3 LTS (embora o servidor live seja virtualizado). Na máquina ativa, o executável existe em cmdline , mas é claro, com os argumentos da linha de comando que precisam ser analisados. Por que uma instância tem comm e não a outra?

    
por David G 16.10.2013 / 22:34

1 resposta

3

É possível que o kernel da sua máquina virtual seja muito antigo ou não esteja configurado para fornecer o arquivo /proc/PID/comm .

De acordo com a página man proc (5), você pode usar o segundo campo em /proc/[pid]/stat . É descrito como:

The filename of the executable, in parentheses. This is visible whether or not the executable is swapped out.

O nome do comando pode ser truncado se tiver mais de 16 caracteres.

    
por 24.10.2013 / 01:40