我知道我可以通过以下方式检查进程的正常运行时间:
ps -o etime= -p "PID"
其中 PID = pid 号。
我想在这个过程结束时写入日志,并包括它的正常运行时间。它退出的确切时间很好,但不是绝对必要的。我有一个自动重新启动它的脚本,但我希望提高它的稳定性。在本例中,该进程是 ffmpeg。我正在从不稳定的源运行带宽非常低的流,并且该过程经常间歇性失败。
我觉得如果我可以记录一两天,我可以尝试不同的配置,看看是否可以将正常运行时间延长到可接受的限度。
感谢您的宝贵见解!
答案1
ps -eo pid,comm,lstart,etime,time,args
此命令列出了具有多个不同的时间相关列的所有进程。通过管道来grep ffmpeg
了解您感兴趣的进程。
上一个命令的输出具有以下列:
PID COMMAND STARTED ELAPSED TIME COMMAND
根据附言人
PID = Process ID
first COMMAND = only the command name without options and without arguments
STARTED = the absolute time the process was started
ELAPSED = elapsed time since the process was started (wall clock time), format [[dd-]hh:]mm:ss TIME = cumulative CPU time, "[dd-]hh:mm:ss" format
second COMMAND = again the command, this time with all its provided options and arguments