nohupを使用してrsync(およびその他のコマンド)を実行すると、sigtermが表示されます。

nohupを使用してrsync(およびその他のコマンド)を実行すると、sigtermが表示されます。

マイコンピュータからHP UX B.11.31システムに接続し、nohupを使用して非常に長いコマンドを実行して、作業が完了している間に数日間寝るか、他のタスクを実行できます。

そのようなコマンドの例:

nohup rsync --rsync-path=/usr/local/bin/rsync -e ssh /data/src usr@target:/data/ >> /data/log/sync.out 2>&1 &

注:Rsyncコマンドは他のHP UXサーバーを対象としています。

私のコンピュータは何らかの方法でHP UXシステムから切断されるまで実行されます(私のホーム接続はVPN経由でSSH経由で接続されており、接続は1日1回発生するようです)。

これが発生した場合は、次のものを見つけることができますtail /data/log/sync.out

Killed by signal 1.
rsync error: unexplained error (code 255) at rsync.c(549) [sender=3.0.8]

誰かがコマンドをシェルスクリプトに入れ、nohupを使って実行することを提案しました。

だから私はこれを(shebangを使用して#!/usr/bin/bash)して、次のようにコマンドを実行しましたnohup ./auto_rsync.sh > /data/log/sync.out 2>&1 &

同じことが起こりました。

興味深いことに、コマンドの実行中にlogoutを入力すると、exitコマンドは引き続き実行されます。それでは、接続解除がnohupとして実行されているプロセスにのみSIGTERMを送信するのはなぜですか?

ベストアンサー1

しばらくHP / UXを操作していませんが、sshにはまだServerAliveIntervalオプションが必要です。したがって、コマンドのsshの後に「-o ServerAliveInterval = 60」を追加してください。あるいは、このオプションを.ssh / configで永久に設定するか、システムSSH構成ファイルに追加することもできます。

編集する

HP / UXには異なる名前があります。いくつかの文書が見つかりました。

https://support.hpe.com/hpsc/doc/public/display?docId=c01892997

/etc/opt/ssh/sshd_configで指定された次のパラメータを使用すると、セッションが終了するまでに許可される必要な非アクティブ時間を設定できます。

ClientAliveInterval 300
ClientAliveCountMax 6

上記のコードは、最大6回の試行で5分(300秒)ごとにクライアントアクティビティメッセージを送信します。 30分間応答がないと、クライアントは切断されます。

ClientAliveIntervalデフォルト値0は、このアクティブ間隔がデフォルトで無効になるようにします。

おすすめ記事