锁文件在系统中起什么作用?

锁文件在系统中起什么作用?

我发现lock我的系统中有很多文件。这些文件的具体作用和用途是什么lock

在我的系统中我得到了这个列表,

/run/lock/whoopsie/lock
/proc/sys/dev/cdrom/lock
/var/lib/dpkg/lock
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock

答案1

它们都是锁文件。更多信息链接

如果不同的应用程序和守护进程需要保护自己免于崩溃或损坏信息,它们会创建自己的锁文件。

例如:

/run/lock/whoopsie/lock

锁定whoopsie,它是 Ubuntu 错误报告守护进程。它收集有关崩溃的信息,因此它需要保护某些信息不被更改,直到它收集完所有信息为止。

/proc/sys/dev/cdrom/lock

锁定 cdrom 设备的文件。每次只有一个应用程序可以控制cdrom设备,这就是它存在的原因。每个设备都一样。

/var/lib/dpkg/lock
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock

锁定包管理器的文件。它们通常会阻止其源数据库

另引述如下wikipedia

下面的例子说明了中间更新问题:

  1. 进程 A 从包含帐户信息的文件中读取客户记录,包括客户的帐户余额和电话号码。

  2. 进程 B 现在从同一个文件读取相同的记录,因此它有自己的副本。

  3. 进程 A 更改其客户记录副本中的账户余额,并将记录写回文件。

  4. 进程 B 在其客户记录副本中仍然具有帐户余额的原始陈旧值,该进程更新帐户余额并将客户记录写回文件。

  5. 进程 B 现在已将其过时的账户余额值写入文件,导致进程 A 所做的更改丢失。

这是其中一个例子。还有许多其他情况可能导致问题。这就是为什么操作系统需要锁定文件

答案2

它们通常用于确保一次只运行一个应用程序实例。

这对于某些程序尤其重要,因为apt-get如果同时运行多个实例,这些程序可能会崩溃。

相关内容