O / proc é estritamente reservado para o espaço do kernel / driver?

5

Ao desenvolver um aplicativo ou daemon do espaço de usuário, é uma boa prática de projeto fornecer alguma forma de status do componente. Eu sempre pensei em usar o / proc para essa finalidade - essa é uma solução aceitável? Talvez haja uma biblioteca de espaço do usuário que replica os serviços / proc?

A maioria das outras referências que eu encontrei indicam que / proc é reservado para desenvolvedores de kernel e drivers.

    
por awoz 26.07.2015 / 18:51

1 resposta

9

De fato, / proc é reservado para o espaço do kernel. No Linux, é um tipo especial de "procfs", e cada arquivo é um manipulador para alguma função dentro do kernel.

Você não pode criar uma pasta / arquivo em / proc enquanto estiver na userland. Você pode criar um módulo do kernel que retornará ao seu processo, mas não será uma boa idéia, pois você terá sérios problemas de segurança. Isso, sem dizer que o enorme risco de corrupção de memória é algo dá errado.

De qualquer forma, você pode ter um exemplo da biblioteca de inotificação (userland & kernel): veja o manpage e aqui está um exemplo de um código de módulo do kernel para criar uma entrada no / proc: link

Feliz hacking:)

    
por 26.07.2015 / 19:59

Tags