説明 概要 ChefのService Resourceでは、冪等性を担保するために/sbin/service <service-name> statusみたいなコマンドを使って現在のServiceの状態を取得する場合があります。1 具体的には、コマンドの終了コードが0だと起動、それ以外だと未起動と判定されます。 となると、ここでそのstatusコマンドが終了コードを返さなかったり、おかしなコードを返すことがうまく動かないということになるのですが、そういったケースはたまにあります。特にRHELファミリー。。。2 具体的にどういった時に起きうるのか デフォルトでは、起動中のプロセスの中から指定されたサービス名を探して判定されますが、以下の様な記述をしているとstatusコマンドが使用されます。