假设我运行时间./a.out,然后我可以通过变量$!获得时间PID.但是如何获得a.out的PID?
我检查了人的时间,找不到任何东西.
我得到的最接近的是时间(睡眠10& echo $!),但由于分叉,所花费的时间基本上为0而不是10s.
解决方法:
根据定义,a.out是一个儿童时间过程.所以时间是a.out的父pid!这是一个测试,我用睡眠60替换a.out:
$time sleep 50 & timepid=$!
$aoutpid=$(pgrep -P $timepid)
$ps -o ppid,pid,start,cmd w -p $$,$timepid,$aoutpid
PPID PID STARTED CMD
2065 2068 21:34:57 -bash
2068 3297 22:16:05 -bash
3297 3298 22:16:05 sleep 50
(注意:时间实际上是shell内置,所以上面的命令是bash!)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。