ssh
どのプロセスがどのファイルを読み書きしているかを示すツールを探しています。
出力例:
pid(または同様のhtopコマンド)| mb / s読み取り| mb / s書き込み|
答え1
iotop
これが私が最初にお勧めするものです。この-o
フラグを使用すると、より正確に使用できます。 CentOSと最新のカーネルバージョンのいずれかを使用している場合は、次のセクションを編集する必要があります/usr/lib/python2.7/site-packages/iotop/data.py
。
def parse_proc_pid_status(pid):
result_dict = {}
try:
for line in open('/proc/%d/status' % pid):
if not line.strip(): continue
key, value = line.split(':\t', 1)
result_dict[key] = value.strip()
except IOError:
pass # No such process
行を追加: if not line.strip(): continue
。
fuser
次のコマンドを使用してファイルにアクセスするプロセスを表示することもできます。
fuser -v -m <file>
プロセスが作成中かどうかは表示されません。
lsof
ファイル自体に使用するか、grepパイプを使用してファイル名またはプロセスをインポートすることもできます。
lsof /path/to/file
lsof | grep <filename>
lsof | grep <process>
必要なものを正確に取得するには、記録されているファイルを既に知っていて、ファイルに書き込むプロセスを見たくない場合は、組み合わせを使用する必要があります。