例如,我想弄清楚我输入的命令何时停止执行
sudo apt-get update
我想要以下信息:
started execution at : 12:00
finished execution at : 12:15
答案1
关于进程,需要理解的关键一点是,默认情况下不会记录进程的元数据。但是,您可以在进程运行时获取某些信息。
正如相关文献所述StackOverflow 问题在wlk 的回答,可以通过-o
标志ps
和ltime
格式说明符获取开始时间:
ps -eo pid,lstart,cmd
但是,系统通常不会跟踪停止时间,因此您必须自己跟踪。知道进程的 PID 后,您可以轮询该 PID 是否存在,并在它消失时回显时间戳
while kill -s 0 $pid ; do : ; sleep 0.25 ; done && date
答案2
编写我们自己的 bash 脚本怎么样?
#!/bin/bash
start_time=$(date +"%T")
$*
finish_time=$(date +"%T")
echo "started execution at : $start_time"
echo "finished execution at : $finish_time"
将脚本另存为logscript.sh
使用以下命令使其可执行chmod +x logscript.sh
您可以使用以下方式运行“命令”./logscript.sh command
例如,./logscript.sh sudo apt-get update
检查一下地点有趣的时间显示格式。