Warum löst die Ausgabe "ps" die UID meines Prozesses nicht auf?

8

Kontext : unter Ubuntu Linux 2.6.24-22-xen # 1 SMP x86_64 GNU / Linux

Ich starte einen Daemon über ein init.d-Skript, aber in der Ausgabe "ps" wird der Benutzer des Daemons in numerischer Form angezeigt. z.B

1000  17560  1  1 11:04 ?  00:00:09 /usr/lib/jvm/java-6-sun/bin/java -server 
        -jar /home/superduperadmin/server/daemon.jar

1000 ist der Superduperadmin in / etc / passwd zugeordnet.

Warum ist das ? Liegt es daran, dass Superduperadmin zu lang ist?


quelle
ok, daneben, mit was hast du Probleme?
Es ist noch nicht gerade ein Problem. Ich frage mich nur, warum die Benutzer-IDs einiger Prozesse in ihre Text-Gegenstücke aufgelöst werden, während mein Daemon dies nicht ist.

Antworten:

17

Ja, weil es zu lang ist ...

von der ps (1) manpage ...

euser EUSER effektiver Benutzername. Dies ist die Textbenutzer-ID.
              wenn es erhalten werden kann und die Feldbreite es erlaubt, oder 
              sonst eine Dezimaldarstellung. Die Option n kann sein
              wird verwendet, um die Dezimaldarstellung zu erzwingen. 
Stobor
quelle
IIRC Das Limit für ps beträgt 8 Zeichen und kann nicht geändert werden, egal wie breit Ihr Terminal ist. \ o /
David Pashley
Ich hatte mich selbst gefragt, ob es vielleicht etwas mit LDAP-Benutzern zu tun hat, aber nein. Vielen Dank.
TRS-80
3

Der Benutzername ist zu lang, um angezeigt zu werden - mehr als 8 Zeichen.

Wenn Sie eine psListe mit längeren Namen wünschen , müssen Sie die zulässige maximale Länge selbst festlegen:

$ ps -e -o "pid,user:16,command"
cweiske
quelle
0
  1. Benennen Sie den Benutzer 'superduperadmin' in 'sda' um.

    Das Umbenennen des Home-Verzeichnisses in eine Übereinstimmung ist optional, Sie müssen jedoch alle Skripte, Konfigurationsdateien usw. bearbeiten, die auf diesen Benutzernamen verweisen (oder das Verzeichnis, wenn Sie das Home-Verzeichnis umbenennen).

  2. Gönnen Sie sich einen Schlag auf den Hinterkopf, um ein Benutzerkonto zu erstellen, für das zu viel Eingabe erforderlich ist, um sich daran zu erinnern, es nicht noch einmal zu tun :)

cas
quelle