Rafael Stockler escreveu: > Olá a todos, > > Sou novato no freeBSD, acabei de instalar. Digamos que esta foi a > quinta tentativa, nas primeiras ou o pacote do cd falhava na hora de > instalar ou outra coisa acontecia. Mas consegui instalar tranquilo > agora. > > Porém, quando tento executar o comando ps -ef | grep alguma coisa ou > só o ps retorna essa mensagem: > > ps: Process environment requires procfs(5) > > Pq isso ocorre?
Rafael, para usar o argumento -e do ps precisa sim do /proc disponivel. Monte-o com mount_procfs se quiser. Porem, o uso do procfs em sistemas BSD é muito raro. Digamos que você encontrou um dos poucos momentos em que se faz imperativo ter o /proc (o que é bom pra alguem que acabou de instalar né? hehe). O comando `w' é outro que também requer o /proc para permitir uso de todas suas funções. Porque isso ocorre? Ai você tem que se apegar a escolhas de implementação baseados nas caracterísitcas internas do kernel BSD e de decisões dos desenvolvedores. Imagine que algumas aplicacoes podem querer ler informações que tecnicamente não permitem a elas. Por exemplo, variáveis de ambiente (caso do -e) internamente são completamente isoladas ao "space" dos processos em execussão. Apenas processos super privilegiados podem ler o "space" de outros processos (quando o kernel o permite ainda) entao o ambiente para ser lido por outro processo ou ate mesmo outro usuario precisaria que a aplicacao (ps) fosse executada sempre com privilegios (suid bit da vida) ou fizesse uso de uma syscall so pra acessar o ambiente. Entao, qual a escolha? Nennhuma dessas, pra isso essas informacoes podem ser lidas do /proc, um espaco virtual disponível via sistema de arquivos que possibilita que algumas informações pouco privilegiadas sejam acessadas por outros processos/uid's. A execao que nao conta é caso o processo que vai dar "dump" ou ler dados desse enviroment seja processo filho, pois estes sempre herdam o ambiente dos processos pai (a nao ser que o ambiente seja limpo antes). Resumindo, sem o /proc a unica forma de um "ze ninguem" saber o enviroment de outro "ze ruela" ou do root seria via syscall ou processo privilegiado. Entao, melhor usar o /proc. Segundo alguns desenvolvedores (como o PHK) o /proc so existe ate hoje porque é uma herança maldita hehehe. Maldita o sentido de ser uma "abordagem feia, mas funcional" e "algumas melhores serem possíveis" mas que "ninguém melhora porque é pouco importante e funciona bem como está". Enfim, internals legacy. -- Patrick Tracanelli FreeBSD Brasil LTDA. (31) 3281-9633 / 3281-3547 [EMAIL PROTECTED] http://www.freebsdbrasil.com.br "Long live Hanin Elias, Kim Deal!" ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

