ps
obtém todas as suas informações dos procfs montados, portanto, sem o procfs, não há fonte para obter essa informação. A única opção que vejo é montar proc para a chamada de ps / top e depois desmontá-lo, isso minimiza o risco.
Gostaria de listar o processo em execução (como ps
ou top
), mas não há nenhum procfs montado.
O procfs não sendo montado é intencional e é feito para impedir que usuários mal-intencionados acessem informações de sistemas.
Existe uma maneira que eu ainda poderia listar processo de execução, ou isso é impossível?
Estou executando o Linux 3.16.
Não montar procfs parece um erro. Isso não melhora realmente a segurança, e o Linux foi projetado para ter /proc
montado. Em particular, como você descobriu, /proc
é como você encontra informações sobre processos (no Linux, ps
é apenas uma impressora bonita para informações encontradas em /proc
).
Se você tiver um bom motivo para impedir que alguns aplicativos acessem /proc
, execute-os em um contêiner ou em um namespace . Monte /proc
na raiz e deixe-a fora do espaço de nomes.