如何检查进程何时停止运行?

如何检查进程何时停止运行?

例如,我想弄清楚我输入的命令何时停止执行

sudo apt-get update

我想要以下信息:

started execution at : 12:00
finished execution at : 12:15

答案1

关于进程,需要理解的关键一点是,默认情况下不会记录进程的元数据。但是,您可以在进程运行时获取某些信息。

正如相关文献所述StackOverflow 问题wlk 的回答,可以通过-o标志psltime格式说明符获取开始时间:

ps -eo pid,lstart,cmd

但是,系统通常不会跟踪停止时间,因此您必须自己跟踪。知道进程的 PID 后,您可以轮询该 PID 是否存在,并在它消失时回显时间戳

while kill -s 0 $pid ; do : ; sleep 0.25 ; done && date

也可以看看:https://stackoverflow.com/a/5207048/3701431

答案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

结果截图

检查一下地点有趣的时间显示格式。

相关内容