[Unit] Description=TG3 independent teleoperation MCAP recorder supervisor After=network-online.target Wants=network-online.target Before=tg3-local-teleop.service [Service] Type=simple WorkingDirectory=/home/nvidia/tg3_local_teleop UMask=0027 ExecStartPre=/home/nvidia/tg3_local_teleop/wait_ros_ready.sh ExecStart=/home/nvidia/tg3_local_teleop/run_data_recorder.sh Restart=on-failure RestartSec=2 KillSignal=SIGINT # Signal only the Python supervisor first; it owns clean SIGINT/finalization # of rosbag2. The whole cgroup is still killed if the generous deadline ends. KillMode=mixed TimeoutStartSec=150 TimeoutStopSec=150 [Install] WantedBy=default.target