/var/run是干什么用的

根据linux的文件系统分层结构标准(FHS)中的定义:

  • /var/run 目录中存放的是自系统启动以来描述系统信息的文件。
  • 比较常见的用途是daemon进程将自己的pid保存到这个目录。
  • 标准要求这个文件夹中的文件必须是在系统启动的时候清空,以便建立新的文件。

为了达到这个要求,linux中/var/run使用的是tmpfs文件系统,这是一种存储在内存中的临时文件系统,当机器关闭的时候,文件系统自然就被清空了。使用df -Th命令能看到类似的输出结果:

[root@test2 dbdata]# df -Th /var/run
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 2.0G 9.0M 2.0G 1% /run

  

当然/var/run除了保存进程的pid之外也有其他的作用,比如utmp文件,就是用来记录机器的启动时间以及当前登陆用户的。

为什么要使用/run代替/dev

这是因为/var/run文件系统并不是在系统一启动就是就绪的,而在此之前已经启动的进程就先将自己的运行信息存放在/dev中,/dev同样是一种tmpfs,而且是在系统一启动就可用的。但是/dev设计的本意是为了存放设备文件的,而不是为了保存进程运行时信息的,所以为了不引起混淆,/dev中存放进程信息的文件都以”.”开始命名,也就是都是隐藏文件夹。但是即便是这样,随着文件夹的数量越来越多,/dev里面也就越来越混乱,终于有人坐不住了,所以引入了替代方案,也就是 /var/run。

使用/var/run有什么好处

主要就是解决了上边说的管理不一致,最终使各个发行版统一管理。最终将/var/run和/var/lock都归并到/run中。而且在也不用使用隐藏文件夹这种伎俩了,对管理员来说轻松了不少。同样/dev中也不会有不相关的内容了。

转自:https://blog.csdn.net/ibsfn/article/details/82010943

【文件分层】/var/run的更多相关文章

  1. 保存进程的pid 文件目录/var/run/

    http://blog.ddup.us/?p=110 http://blog.csdn.net/fyinsonw/article/details/4113124 首先声明这不是愚人节消息,事实上这个消 ...

  2. 问题解决:psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

    错误提示: psql: could not connect to server: No such file or directory Is the server running locally and ...

  3. /var/run/yum.pid 已被锁定,PID 为 XXXX 的另一个程序正在运行。

    安装st-load时, 终端提示 “/var/run/yum.pid 已被锁定,PID 为 13908 的另一个程序正在运行.” 解决方法:直接在终端运行 rm -f /var/run/yum.pid ...

  4. Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'解决

    安装上mysql后,报 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock',试了网上的方法 ...

  5. 关于/var/run/docker.sock

    译者按: 这篇博客介绍了什么是/var/run/docker.sock,以及如何使用/var/run/docker.sock与Docker守护进程通信,并且提供了两个简单的示例.理解这些,我们就可以运 ...

  6. 解决linux重启后无法开启nginx问题“var/run/nginx/nginx.pid" no such file or directory问题

    起因:每次重启虚拟机后,var/run/nginx/目录都会被删除,所以无法在这个目录创建nginx.pid文件, 可以自己创建var/run/nginx/目录,然后可以运行,但治标不治本,下次虚拟机 ...

  7. 运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决

    出现问题 [root@localhost ~]#yum update 已加载插件: fastestmirror,security /var/run/yum.pid已被锁定,PID为1610的另一个程序 ...

  8. supervisor /var/run/supervisor/supervisor.sock not found 或者/tmp/supervisor.sock not found

    刚按装完supervisor,这时候用supervisorctr -c supervisor.conf 会报错: /var/run/supervisor/supervisor.sock not fou ...

  9. /var/run/yum.pid 已被锁定,PID 为 2925 的另一个程序正在运行

    解决办法:直接在终端运行 rm -f /var/run/yum.pid 将该文件删除,然后再次运行yum.

随机推荐

  1. windows10 配置SSH连接Github、配置SSH Key

    由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要设置SSH key. 第1步:创建SSH Key.在用户主目录下[我的电脑是C:\Users\ad],看看有没有.ssh ...

  2. mysql添加中文数据失败

    日志信息: INFO 2015-01-13 10:44:36,078 org.springframework.beans.factory.xml.XmlBeanDefinitionReader: Lo ...

  3. Python--数据类型与变量(列表、元祖、字典)

    今天我们来看Python中3种內建的数据结构:列表.元祖和字典 列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素特性:1.可存放多个值2.可修改指定索引位置对应的值,可变 ...

  4. mysql inner join用法

    inner join(等值连接):只返回两个表中联结字段相等的行. left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录. right join(右联接):返回包括右表中的 ...

  5. centos下安装java jdk1.8

    ---恢复内容开始--- mysql密码修改了,发现还没装jdk,那就一起记录下来吧.虽然网上好多,但自己想查更方便了. 查看有没有装jdk #java -version显示下面信息,不是oracle ...

  6. shell(计算机壳层)(一)

    在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器).它类似于DOS下的command和后来的cmd.exe.它接收用户命令,然后调用相应的应用程序. wi ...

  7. H5页面前后端通信 (3种方式简单介绍)

    1.ajax:短连接 2.websocket :长连接,双向的.   node搭建的websocket服务器,推送信息给客户端浏览器 :https://www.cnblogs.com/fps2tao/ ...

  8. The Preliminary Contest for ICPC Asia Shenyang 2019 H

    H. Texas hold'em Poker 思路:根据每个牌型分等级,然后排序按照等级优先,最大值次之,次大值,最后比较剩下值的和. #include<bits/stdc++.h> us ...

  9. jmeter压测、操作数据库、分布式、 linux下运行的简单介绍

    一.jmeter压测 1.如何压测 常规性能压测:10-15分钟 稳定性测试:一周.2天等 如果想要压测10分钟,勾选永远,勾选调度器,填写600秒.也可以使用固定启动时间. 2.tps.响应时间 ( ...

  10. crypto 密码加密

    转自 'use strict'; var crypto = require('crypto'); /** * generates random string of characters i.e sal ...