Answers:
检查您的unix变体是否支持流程记帐。例如,在Ubuntu(和大多数其他Linux发行版)上,这是由Install acct http://bit.ly/software-small acct
软件包 提供的。如果计费子系统已启动并正在运行,则显示有关已完成流程的信息,包括它们使用了多少处理器时间(挂钟时间未记录)。lastcomm
如果您需要特定程序的定时,请通过调用它time
。
如果需要更精确的信息,请使用更高级的审核程序包,例如Linux下的审核子系统。
apt.ubuntu.com
,然后该图像从imgur中删除。我肯定在SE中已经使用了数百次,而且我不喜欢编辑所有内容。我仍然支持SE进行自动替换,他们不会这样做,因为当所有Java文档都移开时他们甚至都没有这样做。
在我看到这个问题及其答案之前,我做了一个bash脚本。如果您没有root权限且未安装acct或未直接调用命令(在我的情况下:我使用gui设置后台进程),这仍然很有用。您需要在运行之前获取PID(是否有兴趣将其添加到脚本中?:)
#!/bin/bash
echo "Checking run time"
read -p "What is the pid? " PID
while true; do
# sleep needed! used to reduce cpu usage and mass of output
sleep 5
ps -eo uid,pid,etime | egrep '$PID' | egrep '$UID'
done
以此查找PROCESS_NAME的PID
ps aux | awk 'NR == 1 || /PROCESS_NAME/'
实际上,我尝试将USER-ID和PID结合使用,以使脚本变得清晰明确,但这并不是那么容易...
ps -eo uid,pid,etime | egrep '$UID[[:space:]]$PID'
似乎并不总是能正常工作...
egrep '$UID'
因为我是唯一的用户,所以:ps -eo uid,pid,etime | egrep $PID