psコマンドは、ユーザー名の代わりにユーザーIDを表示します。

psコマンドは、ユーザー名の代わりにユーザーIDを表示します。

Centos 6.6でコマンドを実行すると、ps最初の列はユーザ​​ー名ではなくユーザーIDです。

root@cluster:mahmood# ps aux | grep Xvnc
506      11881  0.6  0.1 168580 63164 ?        S    Jun03  24:56 /usr/bin/Xvnc :6 -desktop cluster.hpc.org:6 (haghsheno) -auth /home/mahmood/.Xauthority -geometry 1000x900 -rfbwait 30000 -rfbauth /home/mahmood/.vnc/passwd -rfbport 5906 -fp catalogue:/etc/X11/fontpath.d -pn

なぜこれが起こるのですか?自分のユーザー名にどのように変更できますか?

ベストアンサー1

残念ながら、psはデフォルトでユーザー名が8文字より長い場合は表示しません。システムがLDAPでsssdを実行している場合getentパスワードユーザーID"ユーザーがLDAPデータベースまたはパスワードファイルに存在することを確認します。私のユーザー名"tvb"がほとんど常に表示されます。しかし、ユーザー名"「ほとんどの場合そうではありません。次のような他のコマンド」勝つ「最初の8文字が表示されます」プロングラス「そして残りは切る。上の@KevinOの例では」ハルダモン「は9文字なので、psにはユーザー名で表示されず、ユーザーIDで表示されます。

% getent passwd haldaemon
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

また、答えは次のとおりです。blog.dbi-services.comBSD形式ps出力でも、ユーザー名フィールドのフィールド長を指定するのに役立ちます。アドバイスを少し簡単にするには、次のようにします。

env PS_FORMAT='user:12,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command' ps ax | grep haldaemon
haldaemon     2032  0.0  0.0  53100  2020 ?        Ssl    Aug 12 00:01:10 hald

必要な出力を提供します。

おすすめ記事