以下のようなシェルでバックグラウンドで処理するシェルを起動させているのですが、
しばらくたつと、バックグラウンドのプロセスが消えてしまいます。

■mainシェル(corosyncから実行されます)

#!/bin/sh
プロセスが起動していない場合
    ★テストスクリプト開始のログ
    /スクリプトのパス/test start &

バックグラウンド用のシェルでは以下のように
ループのなかで計算処理⇒sleep⇒計算処理⇒…を繰り返している状態です。

■testシェル

引数で処理分岐
引数がstartの場合
    while :
    do
        計算処理
        ★ログ出力
        sleep処理
        /bin/sleep スリープ時間
      ※breakおよびreturnはありません。
    done

上記のようになっており、計算処理のログが繰り返し出力されていることを確認できています。
テストスクリプト開始のログがたまに出ており(毎回ではない)
上記のような場合、勝手に(?)プロセスが消えたりするのもなのでしょうか?
(sleepしているとnohup実行しない場合など消えたりしますか?)

説明不足で申し訳ございません。記載を追加しました。