使用ps命令时,发现部分用户显示的是用户名,有些用户显示的是UID。如下:
root 28521 1 0 Oct31 ? 00:06:05 ./login_spp_worker ./../etc/login_spp_worker1.xml
root 28524 1 0 Oct31 ? 00:06:07 ./login_spp_worker ./../etc/login_spp_worker1.xml
root 28528 1 0 Oct31 ? 00:06:10 ./login_spp_worker ./../etc/login_spp_worker1.xml
root 28531 1 0 Oct31 ? 00:06:12 ./login_spp_worker ./../etc/login_spp_worker1.xml
root 28534 28492 0 Oct31 ? 00:00:14 ./login_spp_dc_tool
607 29437 1 0 17:52 ? 00:00:00 ./spp_ctrl ../etc/spp_ctrl_sp.xml
607 29453 1 0 17:52 ? 00:00:00 ./spp_proxy ./../etc/spp_proxy_sp.xml
607 29455 1 0 17:52 ? 00:00:01 ./spp_worker ./../etc/spp_worker_sp.xml
607 29457 1 0 17:52 ? 00:00:01 ./spp_worker ./../etc/spp_worker_sp.xml
607是用户“zhailianxing”的uid。
通过man发现: 8位用户名的账户能够显示完整的用户名,9位用户名的账户就显示了UID
使用下面的命令来解决;
ps -o ruser=userForLongName -e -o pid,ppid,c,stime,tty,time,cmd
注意:“userForLongName”是随便填写的,linux会自动检查此字符串的长度,为15,则15位以下的用户名都可以正常显示
现在运行 ps命令结果;
zhailianxing 28268 1 0 19:37 ? 00:00:00 ./spp_ctrl ../etc/spp_ctrl_sp.xml
zhailianxing 28284 1 0 19:37 ? 00:00:00 ./spp_proxy ./../etc/spp_proxy_sp.xml
zhailianxing 28286 1 0 19:37 ? 00:00:02 ./spp_worker ./../etc/spp_worker_sp.xml
zhailianxing 28288 1 0 19:37 ? 00:00:02 ./spp_worker ./../etc/spp_worker_sp.xml
root 28492 1 0 Oct31 ? 00:00:06 ./login_spp_ctrl ../etc/login_spp_ctrl1.xml
root 28508 1 0 Oct31 ? 00:00:17 ./login_spp_proxy ./../etc/login_spp_proxy1.xml
root 28510 1 0 Oct31 ? 00:06:19 ./login_spp_worker ./../etc/login_spp_worker1.xml