PID-Dateien im Home-Verzeichnis neu starten?

7

Was machen all diese PID-Dateien in meinem Home-Verzeichnis?

$ 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

Die meisten sind aktuell. Wenn ich versuche, sie zu entfernen, werden sie (irgendwann) zurückkommen (allerdings mit neuen IDs usw.).

ps zeigt zum Beispiel Folgendes:

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

Das gleiche passiert auch für andere Benutzer auf demselben System.

Laut Jos 'Kommentar scheinen die Einstellungen von /run/ /var/runkorrekt zu sein:

$ 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/

Sicherlich ist dies nicht beabsichtigt, oder dass es einen besseren Ort geben muss, um diese aufzubewahren? Wie sie sind, sind sie weder versteckte Dateien noch befinden sie sich in einem versteckten Verzeichnis. Dies ist chaotisch und führt zu einer längeren Liste von Dingen, die ich in einem ansonsten sehr sauberen und organisierten Bereich durchsehen muss ~.

Ich denke, dies begann nach einem meiner letzten Upgrades, die systemd beinhalteten. Ist das typisch oder habe ich hier vielleicht noch etwas, das dies beeinflusst und das ich weiter untersuchen muss? (Ich bin hier auf diesem System etwas faul geworden und habe in den letzten Versionen keine Neuinstallation durchgeführt - vielleicht Zeit für eine Neuinstallation?)

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

(Dies scheint etwas zu sein, das durch eine einfache Suche behoben werden sollte, aber mein Google-Fu scheint mich mit dieser Sorge zu scheitern.)

ziesemer
quelle
1
Diese pidDateien sollten erstellt werden, in /var/rundenen ein symbolischer Link zu steht /run. Sie werden jedes Mal geschrieben, wenn Sie ein USB-Gerät anschließen. Ich vermute, dass der /runOrdner, an sich ein tmpfsDateisystem, versehentlich in Ihrem Home-Verzeichnis bereitgestellt wurde. Bitte bearbeiten Sie Ihre Frage und fügen Sie die Ausgabe von mount(oder mount | grep run) hinzu.
Jos
@Jos - zusätzliche Informationen wie gewünscht. Sie scheinen korrekt zu sein - aber wenn eines davon in meinem Home-Verzeichnis gemountet wäre, würde dies nicht nur mein eigenes Home-Verzeichnis betreffen und nicht auch die anderen Konten im System?
ziesemer
OK, anderer Ansatz. Ich fange an zu denken, dass der upstart-udev-bridgeProzess und die anderen nicht als root ausgeführt werden und daher die PID-Datei nicht schreiben dürfen /var/run. Sie greifen darauf zurück, es in das Home-Verzeichnis des Benutzers zu schreiben.
Jos
@Jos - Einverstanden, was auch von der ps-Liste unterstützt wird. Also bin ich neugierig, ob das "normal" ist? IE, sehen Sie oder jemand anderes dasselbe bei einer Ubuntu 15.10-Installation - oder habe ich hier etwas falsches? Ich kann verstehen, dass die PID-Dateien für benutzereigene Prozesse in meinem Home-Verzeichnis sein müssen - aber sie sollten irgendwie versteckt sein und nicht den oberen
Rand
Ich stelle fest, dass auf meinem 15.10-System alle diese Prozesse als Benutzer ausgeführt werden. Ich sehe nirgendwo PID-Dateien, aber keine über USB angeschlossenen Netzwerkgeräte. Ich werde morgen genauer hinsehen.
Jos

Antworten:

4

Diese Dateien sind vorhanden, da mehrere Komponenten in Ihrem System der XDG-Basisverzeichnisspezifikation entsprechen und erwarten, dass die Umgebungsvariable XDG_RUNTIME_DIRfestgelegt wird. Wenn nicht festgelegt, wird das Home-Verzeichnis des Benutzers verwendet.

pam-systemdist die Komponente, auf die XDG_RUNTIME_DIR festgelegt ist /run/user/$UID, wobei $ UID die effektive Benutzer-ID für den Benutzer ist. In Ihrem Fall pam-systemdist nicht gelaufen oder hat sich sonst schlecht benommen, das ist schwer zu sagen. Sie können XDG_RUNTIME_DIR jedoch beim Booten ganz einfach selbst wie folgt festlegen: sudo nano /etc/profileund die folgenden Zeilen hinzufügen:

XDG_RUNTIME_DIR=/run/user/$UID
export XDG_RUNTIME_DIR

Ab dem nächsten Neustart überladen die .PID-Dateien Ihr Home-Verzeichnis nicht mehr.

Jos
quelle
Ich habe ähnliche Probleme. Ich habe die Zeilen hinzugefügt, die Sie in der .bashrc-Datei erwähnt haben, nicht in / etc / profile. Wird es funktionieren ? Ist es auch sicher, vorhandene Upstart-PID-Dateien zu löschen, die das Home-Verzeichnis überladen?
Kinjal
1
Ich bin mir nicht ganz sicher, ob es funktionieren wird. Nichts wird kaputt gehen, aber Sie können weiterhin .pidDateien in Ihrem Home-Verzeichnis sehen. In jedem Fall können sie sicher gelöscht werden.
Jos