Shutdown C++ node properly
Hello,
I am trying to shutdown my C++ node properly using the code provided here : https://wiki.ros.org/roscpp/Overview/...
#include <ros/ros.h>
#include <signal.h>
void mySigintHandler(int sig)
{
// Do some custom action.
// For example, publish a stop message to some other nodes.
// All the default sigint handler does is call shutdown()
ros::shutdown();
}
int main(int argc, char** argv)
{
ros::init(argc, argv, "my_node_name", ros::init_options::NoSigintHandler);
ros::NodeHandle nh;
// Override the default ros sigint handler.
// This must be set after the first NodeHandle is created.
signal(SIGINT, mySigintHandler);
//...
ros::spin();
return 0;
}
This is working nicely when I stop my node using CTRL+C, but it is not working when I kill the node using rosnode kill node_name
. Is there any way to do some last actions before the node stops when it is killed?
Thanks,
Mickael