Если not shell_script_exited, то можно не проверять is_started и is_alive
Если not started, то можно не проверять is_alive, etc

Плюс здесь не учитывается is_started, так и надо?