主目录中的 Upstart PID 文件?

主目录中的 Upstart PID 文件?

我的主目录中的所有这些 PID 文件都起什么作用?

$ ls -1 ~/upstart-*
/home/mark/upstart-dbus-bridge.4885.pid
/home/mark/upstart-file-bridge.4885.pid
/home/mark/upstart-udev-bridge.10317.pid
/home/mark/upstart-udev-bridge.4885.pid
/home/mark/upstart-udev-bridge.6044.pid
/home/mark/upstart-udev-bridge.6406.pid
/home/mark/upstart-udev-bridge.6650.pid

大多数都是最新的。如果我尝试删除它们,它们最终会回来(尽管带有新的 ID 等)。

ps例如显示以下内容:

4 S mark      4885  5319  0  80   0 - 27317 poll_s Nov21 ?        00:00:00 /sbin/upstart --user

同一系统上的其他用户也发生了同样的事情。

/run根据 Jos 的评论, /的设置/var/run似乎是正确的:

$ mount|grep run
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1633648k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)

$ ll /var/run
lrwxrwxrwx 1 root root 4 Oct 28  2013 /var/run -> /run/

这肯定不是设计使然,还是说一定有更好的地方保存这些文件?照原样,它们不是隐藏文件,也不在隐藏目录中。这很混乱,导致我需要查看的东西列表更长,而本来应该非常干净和有条理~

我认为这是在我最后一次升级(包括 systemd)之后发生的。这是典型的情况吗?还是可能有其他因素影响了这个问题,我需要进一步调查?(我在这个系统上有点懒,过去几个版本都没有执行过全新安装 - 也许是时候进行全新安装?)

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"

(这似乎是通过简单搜索就能解决的问题,但我的 Google 能力似乎无法解决这个担忧。)

答案1

这些文件的存在是因为系统中的几个组件符合XDG 基础目录规范XDG_RUNTIME_DIR并期望设置环境变量。如果未设置,则使用用户的主目录。

pam-systemd是将 XDG_RUNTIME_DIR 设置为 的组件/run/user/$UID,其中 $UID 是用户的有效用户 ID。就您而言,pam-systemd尚未运行或出现其他错误行为,这很难判断。但您可以轻松地在启动时自行设置 XDG_RUNTIME_DIR,如下所示:sudo nano /etc/profile并添加以下几行:

XDG_RUNTIME_DIR=/run/user/$UID
export XDG_RUNTIME_DIR

从下次重新启动开始,.PID 文件将不再扰乱您的主目录。

相关内容