主目录中的新贵PID文件?

zie*_*mer 7 upstart files home-directory 15.10

所有这些 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
Run Code Online (Sandbox Code Playgroud)

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

ps 显示以下内容,例如:

4 S mark      4885  5319  0  80   0 - 27317 poll_s Nov21 ?        00:00:00 /sbin/upstart --user
Run Code Online (Sandbox Code Playgroud)

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

根据乔斯的评论,/run/的设置/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/
Run Code Online (Sandbox Code Playgroud)

这肯定不是设计使然,还是必须有更好的地方来保存这些?按原样,它们不是隐藏文件,也不在隐藏目录中。这很混乱,并导致我需要查看的事情列表更长,否则应该是一个非常干净和有组织的~.

我认为这是在我最后一次升级(包括 systemd)之后开始的。这是典型的,还是我在这里可能有其他影响我需要进一步调查的东西?(我在这个系统上有点懒惰,并且在过去的几个版本中没有执行干净安装 - 也许是时候进行干净安装了?)

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"
Run Code Online (Sandbox Code Playgroud)

(这似乎应该通过简单的搜索来解决,但我的 Google-fu 似乎没有让我担心这个问题。)

Jos*_*Jos 5

这些文件之所以存在,是因为系统中的多个组件符合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
Run Code Online (Sandbox Code Playgroud)

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