私は、Pythonのツイストプロトコルを使用してクライアントとの接続を確立するROSノードを作成しました。期待通りのプログラムが動作しているが、私はCtrlキー+ cを使用してプログラムを強制終了しようとすると、エラーメッセージ、次の表示:Ctrl + cを押したときに、Pythonプログラム(ROSとツイストプロトコルを含む)をきれいに殺すには?
は[server_send_command_ver3-4]
をSIGTERMためにエスカレート私は以下の私のコードの一部が含まれていたが:
if __name__ == '__main__':
try:
#node initialization
rospy.init_node('listen', anonymous = True)
#publisher to publish message to clientconnection to display connection status on GUI
connect = rospy.Publisher("status", String, queue_size = 10)
connect.publish(" Lost Connection")
#twisted protocol and listen at port 80
factory = Factory()
factory.protocol = NewFactory
factory.clients = []
reactor.listenTCP(80, factory)
reactor.run()
except rospy.ROSInterruptException:
pass
rospyフックが動作しますが、(): 'rospy.on_shutdown(reactor.stop) 'を削除すると、 –
@JaviVありがとうございます。回答を編集しました – GSalazar