正如问题所述,我需要编辑我的/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