def sim_shutdown(self): output.console_log("Shutting down sim run...") ProcessProcedure.subprocess_call("ros2 service call /reset_simulation std_srvs/srv/Empty {}", "ros2_reset_call") ProcessProcedure.process_kill_by_name("gzserver") ProcessProcedure.process_kill_by_name("gzclient") ProcessProcedure.process_kill_by_name("_ros2_daemon") ProcessProcedure.process_kill_by_name("ros2") ProcessProcedure.process_kill_by_cmdline("/opt/ros/") while ProcessProcedure.process_is_running("gzserver") or \ ProcessProcedure.process_is_running("gzclient") or \ ProcessProcedure.process_is_running("ros2") or \ ProcessProcedure.process_is_running("_ros2_daemon"): output.console_log_animated("Waiting for graceful exit...") output.console_log("Sim run successfully shutdown!")
def native_shutdown(self): output.console_log("Shutting down native run...") ProcessProcedure.subprocess_call('rosnode kill -a', "rosnode_kill") ProcessProcedure.process_kill_by_name('rosmaster') ProcessProcedure.process_kill_by_name('roscore') ProcessProcedure.process_kill_by_name('rosout') while ProcessProcedure.process_is_running('rosmaster') and \ ProcessProcedure.process_is_running('roscore') and \ ProcessProcedure.process_is_running('rosout'): output.console_log_animated("Waiting for roscore to gracefully exit...") output.console_log("Native run successfully shutdown!")