반응형
# 문제 상황
ros2 스터디를 진행하며 이전까지 모든 명령이 잘 되던 상황에서 터미널을 다 끄고 다시 해보려했더니 ros2의 기본적인 명령어(topic, service 등)가 다 안되는 상황. 그래서 프로세스를 확인해보니.
$ ps -elf |grep ros
0 S sjchoi 57505 1121 0 80 0 - 151254 futex_ May20 ? 00:00:03 /usr/bin/python3 /opt/ros/galactic/bin/_ros2_daemon --rmw-implementation rmw_cyclonedds_cpp --ros-domain-id 0
0 S sjchoi 87760 87534 0 80 0 - 4744 pipe_r 12:49 pts/3 00:00:00 grep --color=auto ros
rmw 관련 프로세스가 데몬으로 살아있는 문제 발생.
# 해결 방안
단순히 프로세스를 죽일수도 있었지만 나중을 위해 갖고 놀다가 죽어야지...
1) ROS_DOMAIN_ID가 제대로 설정되어 있는지 확인
$ echo ${ROS_DOMAIN_ID}
0
제대로 설정되어 있는 것으로 확인함.
2) ros2 daemon 명령으로 daemon이 인식되는지 확인
$ ros2 daemon status
The daemon is running
확인결과 정상적으로 인식됨.
여기서 ROS_DOMAIN_ID를 바꾸면 해당 daemon 프로세스가 인식되지 않음
$ export ROS_DOMAIN_ID=13
$ ros2 daemon status
The daemon is not running
제대로 인식이 되니 죽여볼까?
$ export ROS_DOMAIN_ID=0
$ ros2 daemon stop
응답하지 않음... (왜지..?)
이 외에도 많은 시도도 해보고 커뮤니티에도 물어봤지만, 답이 없다 ㅠ
3) 그냥 죽거라...
$ ps -elf |grep ros
0 S sjchoi 57505 1121 0 80 0 - 151254 futex_ May20 ? 00:00:03 /usr/bin/python3 /opt/ros/galactic/bin/_ros2_daemon --rmw-implementation rmw_cyclonedds_cpp --ros-domain-id 0
0 S sjchoi 87760 87534 0 80 0 - 4744 pipe_r 12:49 pts/3 00:00:00 grep --color=auto ros
$ sudo kill 57505
아직 ROS 2 도 문제가 많을걸까?
반응형