性能試験でJMeterを使用しているのですが、24時間負荷をかけ続ける長期安定の性能試験を使用するときに失敗したのでメモとして残します。
環境
CentOS
対応
nohup
と負荷をかけたいコマンドを記載する。
nohup コマンド & # nohup jmeter xxxx &
失敗した理由
&
だけを使用していたため。
&
だけでもnohup
と同じようにバックグラウンドでコマンドが実行されます。ただし、&
だけの場合はSIGHUP
シグナルを受け取ったタイミングで処理を終了してしまいます。
ssh
の接続終了するとSIGHUP
シグナルを送ってしまうため、30-60分の負荷試験なら問題ありませんが、24時間等の長期安定負荷試験の場合は問題が発生します。nohup
はSIGHUP
シグナルを受け取っても、処理を続行します。
ssh
の接続終了してコマンドが止まることを確認するために、ssh
を1度終了して、すぐに再度ssh
を実行したときには問題なかったので気付きませんでした。
細かいシグナルの挙動は参考情報を見てください。
終わりに
「コマンド バックグラウンド」等々で調べると、&
しか出てこないので困りました。
基本コマンドのようですので、これが検索上位に来るほどの期待はしていませんが、「性能試験 バックグラウンド」等々のいい感じのワードで検索されることを期待しています。