trace: Exit with nonzero return code on error
diff --git a/tools/trace.py b/tools/trace.py
index 1c6b339..aac60e3 100755
--- a/tools/trace.py
+++ b/tools/trace.py
@@ -691,10 +691,13 @@
                         self._attach_probes()
                         self._main_loop()
                 except:
+                        exc_info = sys.exc_info()
+                        sys_exit = exc_info[0] is SystemExit
                         if self.args.verbose:
                                 traceback.print_exc()
-                        elif sys.exc_info()[0] is not SystemExit:
-                                print(sys.exc_info()[1])
+                        elif not sys_exit:
+                                print(exc_info[1])
+                        exit(0 if sys_exit else 1)
 
 if __name__ == "__main__":
         Tool().run()