vmstat 未将其输出写入文件
vmstat is not writing its output to the file
我尝试每 20 秒通过 bash 脚本 运行 vmstat 并将结果输出到一个文件中几个小时。我的脚本如下所示:
#!/bin/bash
vmstat 20 1000 | ./timestamp.pl >> vmstat.txt
timestamp.pl 脚本如下所示:
#!/usr/bin/perl
while(<>){
print localtime() . "$_ ";}
我正在调用 timestamp.pl 在 vmstat 输出的每一行中插入时间戳。该脚本在 SunOS 上 运行ning 大约一个小时,我在 vmstat.txt 文件中没有看到任何条目。任何想法为什么会这样或有什么方法可以改进它以便将输出写入 vmstat.txt 文件?
要么等待足够的时间刷新 perl 输出(脚本将在大约 5 小时 30 分钟后结束),要么通过在循环之前添加以下行来禁用 perl 脚本中的缓冲:
$|++;
我尝试每 20 秒通过 bash 脚本 运行 vmstat 并将结果输出到一个文件中几个小时。我的脚本如下所示:
#!/bin/bash
vmstat 20 1000 | ./timestamp.pl >> vmstat.txt
timestamp.pl 脚本如下所示:
#!/usr/bin/perl
while(<>){
print localtime() . "$_ ";}
我正在调用 timestamp.pl 在 vmstat 输出的每一行中插入时间戳。该脚本在 SunOS 上 运行ning 大约一个小时,我在 vmstat.txt 文件中没有看到任何条目。任何想法为什么会这样或有什么方法可以改进它以便将输出写入 vmstat.txt 文件?
要么等待足够的时间刷新 perl 输出(脚本将在大约 5 小时 30 分钟后结束),要么通过在循环之前添加以下行来禁用 perl 脚本中的缓冲:
$|++;