Como descobrir o que um programa faz

5

Quando eu chamo ps ax , recebo uma lista de processos em execução.

  • Alguns deles eu sei pelo nome (firefox, java, scala, o nome dele).
  • A maioria dos outros, eu posso encontrar com man NAME e tentar descobrir o que eles estão fazendo.
  • Se não houver uma página de manual para o programa, estou ficando irritado. Mas há apt-cache search NAME , onde eu posso descobrir de qual pacote vem, esperando encontrar uma explicação. Exemplo: apt-cache search wpa_supplicant yields wpagui - graphical user interface for wpa_supplicant .
  • Se o apt-cache não mostrar nada, ainda há uma pequena esperança de que file $(locate NAME) encontre um script ou algo mais com informações adicionais.
  • No entanto, para rkit-daemon , não encontrei nada útil.
  • Para file $(locate gvfs-gphoto2-volume-monitor) , só encontro um executável binário, mas sem informações.

Eu poderia tentar decifrar gnome-virtual-file-sytem ... e acho que poderia ser uma ferramenta para detectar cartões SD e similares, se estiver conectado ao PC, mas existe uma maneira melhor de descobrir quais processos estão sendo executados? no meu PC, estão fazendo? Eu realmente tenho que google?

Por que não há documentação sobre esses processos ou onde os encontro? Existe um local organizado para pesquisá-los ou tenho que pesquisá-los caso a caso?

Eu acho que eu poderia baixar a fonte de todo o sistema e pesquisar a origem, mas raramente há informações adicionais para os usuários, mas para os desenvolvedores.

    
por user unknown 18.04.2012 / 01:52

1 resposta

4

O procedimento que utilizo é:
sudo apt-get install htop apt-file
sudo apt-file update
htop
f2 para configuração
Navegue com as teclas de seta Seta para baixo , Seta para a direita , Espaço para alternar a visualização em árvore, Esc para voltar menu (porque você não pode enviar F10 para o gnome-terminal facilmente). Você também pode fazer isso com o mouse.

Agora, você obtém informações mais informativas sobre exatamente como cada processo é iniciado e outros arquivos que ele pode carregar. Então oneconf-service por exemplo.

man oneconf-service e man oneconf não produzem nada. apt-cache search oneconf-service não produz nada.

apt-file search oneconf-service rendimentos oneconf: /usr/share/oneconf/oneconf-service e apt-cache search oneconf rendimentos oneconf - synchronize your configuration data over the network

Para voltar às suas perguntas específicas em questão:
por apt-file search gvfs-gphoto2-volume-monitor você recebe:

gvfs-backends: /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
gvfs-dbg: /usr/lib/debug/usr/lib/gvfs/gvfs-gphoto2-volume-monitor

E apt-cache search gvfs-backends yields:
gvfs-backends - userspace virtual filesystem - backends

apt-file search 'rtkit-daemon' yields:

rtkit: /lib/systemd/system/rtkit-daemon.service
rtkit: /usr/lib/rtkit/rtkit-daemon

apt-cache search rtkit yields:
rtkit - Realtime Policy and Watchdog Daemon

Editar para comentar comentário: Eu recomendo htop porque você pode ver outros módulos carregados não apenas o nome do processo. Se algo for iniciado de uma maneira engraçada, a saída do nome do processo / ps talvez não mostre algo horrivelmente útil.

O arquivo-apt pode encontrar coisas que são nomeadas de forma diferente do nome do pacote e não estão na descrição do pacote. Ele permite rastrear qualquer arquivo instalado por um pacote de volta ao pacote.

userspace usuários podem controlá-lo virtual filesystem não exatamente um sistema de arquivos, mas ele age como um - backends da parte que você não vê. Se você fizer check-in, ele fala sobre o dbus (mostra nos módulos carregados). Isso me faz pensar que permite que os usuários manipulem sistemas de arquivos / montagens / dispositivos através do dbus (uma forma comum de conceder privilégios de superusuário sem requerer o sudo e usar o pacote-kit). Então, quando você combina a saída htop, conhecendo um uso comum para dbus e a descrição, fica muito mais claro.

Watchdog um processo que monitora o outro para garantir que ele não fique fora de controle daemon algo que é executado como um serviço. Portanto, é um processo que monitora outros processos para garantir que o agendamento não fique fora de controle.

    
por RobotHumans 18.04.2012 / 03:03