1秒ごとにプロセスを監視し、出力をファイルに送信します。

1秒ごとにプロセスを監視し、出力をファイルに送信します。

FTPクライアントとサーバー間のファイル転送を分析する必要がある作業があります。

私はhtopコマンドを知っています。

ファイル転送に15秒かかる場合は、htopファイル転送が完了するまで毎秒コマンドを実行し、プロセスを分析できるように出力をファイルに渡したいと思います。しかし、htop毎秒実行できるメソッドは思い出されません。

また、コマンドで印刷された出力は、htop人間が読める形式ではありません。

ベストアンサー1

まず、必要な情報を取得する簡単な方法がないことを確認してください。よりうまく機能する他のツールもたくさんありますが、htopはファイルにうまくアクセスできません。望むより:https://stackoverflow.com/questions/17534591/htop-output-to-human-reader-fileここに一緒にいる部分がありますが:https://askubuntu.com/questions/726333/how-to-save-htop-output-to-file何かが見つからない場合。

htopに削除できないものがあるか、psコマンドライン出力と解析用に設計された他のツールはありますか?

次に、次のスクリプトを作成します(テストされていません)。

#!/bin/bash

my_log="ftp_$(date +%Y%m%d%H%M%S).log"
$(command to start the ftp 2>&1 >> "$my_log")& 

my_pid="$!"
sleep 15
still_there=1
while [[ $still_there -gt 0 ]]
do
    if [[ $(ps ax | grep $my_pid | grep -v grep) ]] # If your PID is still in the process table
    then
        # Insert monitoring stuff in here that > to $my_log
        still_there=1
    else
        still_there=0
    fi
    sleep 1
done

おすすめ記事