ROS 使用signal 终止 Node

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:44   1547   0

在终端中使用ctrl+c可以强制终止运行的程序,但有时需要在终止时作一些处理(如ros::shotdown,free等),可使用信号函数作退出处理

头文件

#include"csignal"

信号处理函数

void signalHandler(int signum)
{
  ROS_INFO("%s is received, Terminating the node...",strsignal(signum));
  ros::shutdown();
  exit(signum);
}

使用

  ros::init(argc,argv,"camera_Info_publisher");
  ros::NodeHandle nh;
  ROS_INFO("camInfo_pub node is running..."); 
  signal(SIGINT,signalHandler);

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP