Como edito um arquivo em /proc que pode ser visualizado com cat, mas não é editável por mousepad e abiword?

Como edito um arquivo em /proc que pode ser visualizado com cat, mas não é editável por mousepad e abiword?

Como diz a pergunta, preciso editar meu /proc/acpi/wakeuparquivo, mas quando abro com qualquer editor de texto, ele mostra o arquivo em branco. catO comando, por outro lado, exibe o conteúdo correto do arquivo no terminal. Quando navego para esse arquivo no gerenciador de arquivos, ele diz que seu tamanho é 0 bytes. Estou usando o Xubuntu 15.04. Estou completamente confuso.

Responder1

/proc(página de manual,documentos do kernel) é um sistema de arquivos virtual (como é /sys-documentos do kernel). Os arquivos /procnão sãorealarquivos, mas formas de acessar informações e configurações do kernel. Você não deve usar um editor para editar arquivos /proc, mas escrever diretamente nestes arquivos:

sudo sh -c 'echo foo > /proc/some/file'
echo foo | sudo tee /proc/some/file

Quando você tenta ler ou escrever nele, o kernel converte as ações em chamadas do sistema internamente e faz a coisa certa. Alguns editores ainda podem visualizar o conteúdo (experimente o Vim, por exemplo), mas escrever nele é uma história diferente.


Para uma classe especial de arquivos, aqueles em /proc/sys(documentos do kernel,Arco Wiki), há outra alternativa. Você pode usar os arquivos de configuração em/etc/sysctl.confe /etc/sysctl.d/*.conffazer mudanças permanentes em seus valores. Um arquivo /proc/sys/foo/barpode ser definido usando uma chave foo.barem um desses arquivos.

Por exemplo, /proc/sys/vm/swappinesspode ser definido adicionando um /etc/sysctl.d/90-swappiness.confcontendo:

vm.swappiness = 10

E correndo:

service procps start

Você também pode fazer alterações únicas (que não sobreviverão à próxima reinicialização) usando osysctlcomando diretamente:

sudo sysctl -w vm.swappiness=10

informação relacionada