/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. pipeline语法之environment,dir(),deleteDir()方法,readJSON,writeJSON

    一 environment指令指定一系列键值对,这些对值将被定义为所有步骤的环境变量或阶段特定步骤 environment{…}, 大括号里面写一些键值对,也就是定义一些变量并赋值,这些变量就是环境变 ...

  2. MySQL慢SQL语句常见诱因

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11429037.html 1. 无索引.索引失效导致慢查询 如果在一张几千万数据的表中以一个没有索引的列 ...

  3. 管理Session

    1:把session和本地线程绑定在一起. 1):创建一个sessionFactory.然后由它去创建session package com.hq.util; import org.hibernate ...

  4. CDN技术之-介绍

    “第一公里”是指万维网流量向用户传送的第一个出口,是网站服务器接入互联网的链路所能提供的带宽.这个带宽决定了一个网站能为用户提供的访问速度和并发访问量.如果业务繁忙,用户的访问数越多,拥塞越严重,网站 ...

  5. gdb流程控制(例: 循环打印数组)

    参考:https://blog.csdn.net/justlinux2010/article/details/9453151 循环/条件 在gdb的脚本中循环遍历整个哈希表,并且加上判断条件来进行统计 ...

  6. winform DataGridView的虚模式填充,CellValueNeeded事件的触发条件

    虚模式填充常用来处理大量数据,某个字段的显示问题. DataGridView是.net 2.0新增的表格数据编辑和显示控件,简单的数据显示和编辑,只需直接和数据源绑定就可以了. 对于 一些特殊情况,我 ...

  7. 对于Final关键字的总结

    1.final关键字可以用于成员变量.本地变量.方法以及类. 2. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. 3. 你不能够对final变量再次赋值. 4.  ...

  8. ACM 中的对拍程序

    所谓对拍,就是随机生成数据,然后用一个肯定正确的暴力算法的程序,去测试一个要提交的程序. 由于比赛中一般使用 Linux 系统,所以本篇博客的代码都是 Linux 下的程序代码. 其实最简单的方式是写 ...

  9. POJ 3641 Pseudoprime numbers (数论+快速幂)

    题目链接:POJ 3641 Description Fermat's theorem states that for any prime number p and for any integer a ...

  10. 运维 06 vim与程序员

    vim与程序员   所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以 ...