Ejemplo n.º 1
0
    def signal_handler(self, *args, **kwargs):
        global running

        RosThread._signal_handler(*args, **kwargs)
        TopicMonitor._signal_handler(*args, **kwargs)
        
        print("Shutting Down")
        running = False
Ejemplo n.º 2
0
    
    class TopicPrinter:
            def __init__(self, topic):
                self.topic = topic
            def callback(self, data):
                print("%s:%s" % (self.topic, str(data)))
                
        
    def subscriber(topic, datatype):
        obj = TopicPrinter(topic)
        RosThread.subscribe(topic, datatype, obj.callback)
    
    def signal_handler(self, *args, **kwargs):
        global running

        RosThread._signal_handler(*args, **kwargs)
        TopicMonitor._signal_handler(*args, **kwargs)
        
        print("Shutting Down")
        running = False
        
    
    TopicMonitor.add_callback(subscriber)
    signal.signal(signal.SIGTERM, signal_handler)
    # Ctrl + C # todo does not work
    signal.signal(signal.SIGINT, signal_handler)

    while running == True:
        time.sleep(1)