Sshセッションでrsync
を指定してNohup
コマンドを実行しましたが、しばらくすると次のエラーが返されます。
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [generator=3.0.9]
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [receiver=3.0.9]
私は自分でプロセスを強制終了しませんでした。このプロセスを強制終了するプロセスは他にないと思います。また、フォアグラウンドでNohup
を使用して実行します。何らかの理由でsshセッションが終了したため、Nohup
プロセスが終了しないためrsync
を使用します。
終了の原因は何ですか?
オペレーティングシステムはDebianWheezyです。
これは古い質問であり、情報が限られていますが、何が起こっているのかはrsyncの問題ではないと思います(rsync自体はsigkillしないため)。
私はメモリの問題であることが判明した同様の問題に遭遇しました。カーネルのメモリ不足管理は、使用されている仮想メモリの量を実行時間の合計で割ることで、どのプロセスを強制終了するかを決定します。
Rsyncは、転送されるファイルのサイズと数によっては大量のメモリを消費する可能性があり、実行時の値は低くなります。これにより、カーネルがselect_bad_process()を呼び出したときにスコアが増加します。
Rsyncのメモリ使用量をログに記録するrsyncを開始した後、簡単なスクリプトでメモリ使用量を確認します。
while [ 1 ]; do
pidstat -r -G rsync >> stat.log
free >> stat.log
done
また、rsyncが終了する頃にdmesgをチェックしてください。OOMエラーがある場合は、それらが表示されます。