「ps」出力がプロセスのuidを解決しないのはなぜですか?


8

コンテキスト:ubuntu Linux 2.6.24-22-xen#1 SMP x86_64 GNU / Linuxの場合

私はinit.dスクリプトを介してデーモンを起動していますが、「ps」出力では、デーモンのユーザーを数値形式で表示しています。例えば

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は、/ etc / passwdのsuperduperadminにマップされます。

どうしてこれなの ?superduperadminが長すぎるためですか?


それ以外に、問題が発生しているのは何ですか?

まだ問題ではありません。デーモンが解決しないのに、なぜ一部のプロセスのユーザーIDが対応するテキストに解決されるのか疑問に思っています。

回答:


17

はい、長すぎるからです...

以下からのps(1)のmanページ ...

euser EUSER実効ユーザー名。これはテキストのユーザーIDになります。
              取得でき、フィールド幅が許す場合、または 
              それ以外の場合は10進数表現。nオプションは
              10進数表現を強制するために使用されます。 

IIRCのpsの制限は8文字で、端末の幅に関係なく変更できません。\ o /
David Pashley、

もしかしたらLDAPユーザーと関係があるのではないかと思っていましたが、違います。ありがとう。
TRS-80

3

ユーザー名が長すぎて表示できません-8文字を超えています。

psもっと長い名前のリストが必要な場合は、許可されている最大長を自分で設定する必要があります。

$ ps -e -o "pid,user:16,command"

0
  1. ユーザー名を「superduperadmin」から「sda」に変更します。

    一致するようにホームディレクトリの名前を変更することはオプションですが、そのユーザー名(またはホームディレクトリの名前を変更する場合はdir)を参照するスクリプト、構成ファイルなどを編集する必要があります。

  2. あまりにも多くのタイピングを必要とするユーザーアカウントを作成するために、頭を後ろから叩いて、再度実行しないように注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.