
Как говорится в вопросе, мне нужно отредактировать /proc/acpi/wakeup
файл, но когда я открываю его любым текстовым редактором, он показывает пустой файл. cat
С другой стороны, команда отображает правильное содержимое файла в терминале. Когда я перехожу к этому файлу в файловом менеджере, он говорит, что его размер составляет 0 байт. Я использую Xubuntu 15.04. Я полностью запутался.
решение1
/proc
(страница руководства,документы ядра) — это виртуальная файловая система (как есть /sys
-документы ядра). Файлы в /proc
не являютсянастоящийфайлы, но и способы доступа к информации и настройкам из ядра. Вам не следует использовать редактор для редактирования файлов в /proc
, а писать напрямую в эти файлы:
sudo sh -c 'echo foo > /proc/some/file'
echo foo | sudo tee /proc/some/file
Когда вы пытаетесь прочитать или записать его, ядро преобразует действия в системные вызовы внутри себя и делает правильно. Некоторые редакторы все еще могут просматривать содержимое (попробуйте Vim, например), но запись в него — это уже другая история.
Для особого класса файлов, находящихся в /proc/sys
(документы ядра,Арка Вики), есть еще одна альтернатива. Вы можете использовать файлы конфигурации в/etc/sysctl.conf
и /etc/sysctl.d/*.conf
вносить постоянные изменения в их значения. Файл /proc/sys/foo/bar
может быть установлен с помощью ключа foo.bar
в одном из этих файлов.
Например, /proc/sys/vm/swappiness
можно задать, добавив /etc/sysctl.d/90-swappiness.conf
содержащий:
vm.swappiness = 10
И бегу:
service procps start
Вы также можете внести одноразовые изменения (которые не сохранятся после следующей перезагрузки) с помощьюsysctl
команда напрямую:
sudo sysctl -w vm.swappiness=10