Linux中进程的用户名和uid

2010-05-11  邓迎秋 

有一个bug,隐藏还算比较深,Dev和Tester调查了一段时间才找到root cause。Feature是这样的:kill掉指定用户的一个Xvnc进程。在寻找用户进程时,code使用了一个Linux标准的命令ps。
#ps -C Xvnc -o "user,pid,args" --no-headers
问题是当User name超过8个字符以后,ps输出的user name不是真的username,而是uid。所以,程序按username去查找便出错了,找不到这个用户。
Solution有两个:1.不要使用username来查询,直接上uid,这样动的code比较多。2.使用header width来强制使username显示出来ps -C Xvnc -o "user:128,pid,args" --noheaders
这个case教育我们测试用户的时候,要使用长一些的用户名。哈哈
512°/5079 人阅读/5 条评论 发表评论

刘俊  2010-05-12

好厉害,linux命令好熟


邓迎秋  2010-05-13

刘俊: 好厉害,linux命令好熟
工作需要啦!


刘俊  2010-05-13

邓迎秋: 工作需要啦!
上次电话面试被问到rpm有哪些命令,都没答上来。。。还有如何查看linux的性能参数,也不会,泪奔


邓迎秋  2010-05-13

刘俊: 上次电话面试被问到rpm有哪些命令,都没答上来。。。还有如何查看linux的性能参数,也不会,泪奔
这个你多用用Linux就知道了。学习Linux的最好工具就是Google,你遇到过的问题别人一定也遇到过。搜索一下,自然可以找到答案。


刘俊  2010-05-14

邓迎秋: 这个你多用用Linux就知道了。学习Linux的最好工具就是Google,你遇到过的问题别人一定也遇到过。搜索一下,自然可以找到答案。
是啊,就是因为太依赖google了,不会的命令就去go一下,导致巨大部分都不记得,所以还是你说的对,用的少了


登录 后发表评论