Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to kill node of other program in one roseus program? #534

Open
kochigami opened this issue Aug 5, 2017 · 1 comment
Open

how to kill node of other program in one roseus program? #534

kochigami opened this issue Aug 5, 2017 · 1 comment

Comments

@kochigami
Copy link
Contributor

I'd like to know how to write rosnode kill <node name> in roseus.
If there is any link, documentation..., could you let me know?

what I want to do is like this: killing nodeB when nodeA is killed

  • node A: from roseus program
  • node B: from rospy program
#!/usr/bin/env roseus

(ros::roseus "nodeA")
(ros::load-ros-manifest "roseus")

(defun hoge ()
  (print "hoge")
  ;; (kill nodeB (rospy program))
)

(hoge)
  • First I tried to ping nodeA (roseus node) from nodeB side
  • and kill nodeB (rospy node) when ping returns False,
  • but I couldn't kill it because of the error message like this:
    ERROR: connection refused to [http://hogehoge/]
    I think this problem relates to roseus is left as zombie process even rosnode kill-ed #529
    because my program uses smach and has a loop.

That's why I'd like to know how to kill node from roseus side.

@k-okada
Copy link
Member

k-okada commented Aug 6, 2017

with #531 and modify your code like, you can rosnode kill the roseus node.

#!/usr/bin/env roseus

(ros::roseus "nodeA")
(ros::load-ros-manifest "roseus")

(defun hoge ()
  (print "hoge")
  ;; (kill nodeB (rospy program))
  )
(hoge)
(ros::spin)
(ros::exit)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants