我正在编写一个bash脚本,我需要找出进程的userID。举个例子,让这个过程成为bash本身。
我尝试ps aux | grep ba[s]h
,但返回了以下内容:
1000 2745 0.0 0.1 28360 5440 pts/1 Ss 10:11 0:01 bash
我看到显示了用户ID 1000,但我想要用户名。
答案 0 :(得分:15)
如果用户名超过8个字符,则会发生这种情况(或) ID没有名称。但是,如果您想要ps
输出中的用户名,请尝试使用
ps -eo uname:20,pid,pcpu,pmem,sz,tty,stat,time,cmd | grep '[b]ash'
答案 1 :(得分:0)
这是gedit过程的一个例子
grep -w Pid /proc/$(pidof gedit)/status | cut -f 2
答案 2 :(得分:0)
到目前为止,我发现的最短方法($ PID-检查的进程的ID):
ps -p $PID -o euid=