我试图通过c
或terminal
获取有关PID的信息(理想情况下,我希望通过两种方式获取,多种方法)
我有一个PID,想知道它声称的时间。声称我的意思是当一个程序开始使用它。或者,如果重用PID,当使用它的最新程序开始使用它时。
在Linux中,我所做的是lstat "/proc/PID_HERE/exe"
或lstat "/proc/PID_HERE/cmdline"
,但我无法弄清楚如何在Mac OS上执行此操作。
注意:我从stat
更改为lstat
,因为单个exe与命令行参数一起使用以打开多个实例。所以每个实例都有一个新的pid,所以我想要关于那个特定实例的信息,因此在Linux上我必须使用lstat
。那么任何lstat
相当于在mac os上获取pid信息吗?
答案 0 :(得分:1)
我认为你的意思是:
ps -p <PID> -o start=
10:22am
在PID中替换。 start=
选择开始时间并抑制标题行。如果您想要标题,请使用
ps -p <PID> -o start
STARTED
10:22am
或者,你可以像这样更充分地形成开始时间:
ps -p <PID> -o lstart=
Fri 26 Sep 10:22:50 2014
顺便说一句,如果您想要一个关键字列表(例如上面的start
和lstart
),您可以浏览管理,或者更简单地说,只需提供一个无效的关键字,它就会告诉你它喜欢的所有: - )
ps -o %rubbish
ps: %rubbish: keyword not found
ps: no valid keywords; valid keywords:
%cpu %mem acflag acflg args blocked caught comm command cpu cputime etime f flags gid group ignored
inblk inblock jobc ktrace ktracep lim login logname lstart majflt minflt msgrcv msgsnd ni nice nivcsw
nsignals nsigs nswap nvcsw nwchan oublk oublock p_ru paddr pagein pcpu pending pgid pid pmem ppid pri
pstime putime re rgid rgroup rss ruid ruser sess sig sigmask sl start stat state stime svgid svuid
tdev time tpgid tsess tsiz tt tty ucomm uid upr user usrpri utime vsize vsz wchan wq wqb wql wqr xstat