我有一个非常长的bash脚本并在后台执行一些操作(不产生任何输出)。
我想知道哪些线/部件占用了大部分执行时间。
我可以使用某种工具/功能/ linux内置来实现吗?
答案 0 :(得分:0)
我可以在这里想到两种方法。
1)记录每个命令或函数的开始时间并输出到日志文件
# echo "$(date) : Started function_x" >> $LOGFILE
2)计算每个函数/任务所需的秒数并记录下来。
startTime=$(date +%s)
longRunningFunction
endTime=$(date +%s)
echo "longRunningFunction took $(expr $endTime - $startTime) seconds" >> $LOGFILE
答案 1 :(得分:0)
过去我必须这样做时,我使用过这种格式:( time echo "hello" ) 2>>output.txt
为脚本中的每一行执行此操作,为每个行计时。