argdist: Exit with nonzero return code on error
diff --git a/tools/argdist.py b/tools/argdist.py
index f1b7849..61f8e00 100755
--- a/tools/argdist.py
+++ b/tools/argdist.py
@@ -637,7 +637,7 @@
                         self.probes.append(Probe(self, "hist", histspecifier))
                 if len(self.probes) == 0:
                         print("at least one specifier is required")
-                        exit()
+                        exit(1)
 
         def _generate_program(self):
                 bpf_source = """
@@ -695,10 +695,13 @@
                         self._attach()
                         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()