ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Well I've found the reason why:

the correct way (or the celanest way) to finish the node execution of a node is actually invoking the command:

$rosnode kill <node_name>

this will gently invoke the dispose in the node which among others release resources, dispose itself and "Disconnect from the Master"-- Ha! that is very important!

Since I can terminate the application (the node is an application too) by doing Control+ C, I've faced the issue that this method doesnt give a chance to the node to dispose itself properly, this is the reason why the zombie node is still visible when I do:

$rosnode list

anyways, the "zombie node" can be removed after calling a

$rosnode cleanup

Well I've found the reason why:

the correct way (or the celanest cleanest way) to finish the node execution of a node is actually invoking the command:

$rosnode kill <node_name>

this will gently invoke the dispose in the node which among others release resources, dispose itself and "Disconnect from the Master"-- Ha! that is very important!

Since I can terminate the application (the node is an application too) by doing Control+ C, I've faced the issue that this method doesnt doesn't give a chance to the node to dispose itself properly, this is the reason why the zombie node is still visible when I do:

$rosnode list

anyways, the hole graph can be updated / cleaned and the "zombie node" can be removed after calling a

$rosnode cleanup