linux - 后台进程日志显示消息时间戳存在很大差距

标签 linux bash shell nohup

一个周末,我在后台 nohup 下开始了一项长时间运行的工作。当查看完成后的输出时,我注意到一些日志消息的时间戳之间存在很大的差距。有的间隙长达10小时。我当时无法了解我的工作发生了什么。

我在工作中的标准 Red hat Linux 服务器计算机上运行了它。

此行为是由 nohup 命令引起的吗?如果不是,可能的原因是什么?

其中一个长时间运行的作业如下所示 -

#!/bin/bash

while true
do
    echo "`date`  `top -n 1 -b | grep progname`"
done

这是日志中的一个这样的间隙 -

Mon May 26 04:29:42 PDT 2014  27685 user    18   0 2883m 2.8g 1732 S  0.0  3.9  29:05.54 progname
Tue May 27 03:20:35 PDT 2014  27685 user    18   0 3371m 3.3g 1732 S  0.0  4.6  34:23.21 progname

最佳答案

好的。

pid是一个变量,它是你想要监控的进程的pid-- 首先尝试一下这个(由 S Chazelas 提供):

export pid=$(ps -ef | grep progname | awk '{$print $2}')
while rss=$(ps -o rss= -p "${pid}") 
do
  printf '%d %s\n' "$rss"  "$(date)"
  sleep 60; 
done > t.lis
# 
echo "Done $(date)" >> t.lis

rss 是驻留集大小(分配给进程的内存),以页为单位。

getconf PAGESIZE 

将显示一页内存中有多少字节。

关于linux - 后台进程日志显示消息时间戳存在很大差距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23923169/

相关文章:

bash - 如何将目录的每个文件中的制表符转换为空格?

shell - 在 Zsh 中缩短我的提示

c - 如何连接两个字符数组以在 C 中从 fopen 打开文件?

linux - 使用 `remind` 获取下周时间表

linux - 使用 node.js 解析 word 文档中的表格

java - Apache Groa 找不到主类错误

linux - -bash : $: command not found when installing Dart package

python - 重命名组名标题 pandas

ruby - 在一条线上搜索和标记成对模式

linux - 在 shell 脚本中运行服务器后如何运行另一个命令?