diff --git a/tools/bashreadline.py b/tools/bashreadline.py index 89c37c3074a9..da9c1b7c16cc 100755 --- a/tools/bashreadline.py +++ b/tools/bashreadline.py @@ -61,4 +61,7 @@ def print_event(cpu, data, size): b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/biosnoop.py b/tools/biosnoop.py index d036c0b18a5d..259a81b32acb 100755 --- a/tools/biosnoop.py +++ b/tools/biosnoop.py @@ -187,4 +187,7 @@ def print_event(cpu, data, size): # loop with callback to print_event b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/btrfsslower.py b/tools/btrfsslower.py index d48e04cee61c..0a59820f97b5 100755 --- a/tools/btrfsslower.py +++ b/tools/btrfsslower.py @@ -352,4 +352,7 @@ def print_event(cpu, data, size): # read events b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/capable.py b/tools/capable.py index 7c98267c32b1..65ffa77290ff 100755 --- a/tools/capable.py +++ b/tools/capable.py @@ -216,4 +216,7 @@ def print_event(bpf, cpu, data, size): callback = partial(print_event, b) b["events"].open_perf_buffer(callback) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/criticalstat.py b/tools/criticalstat.py index e45731c8795e..68c16f76f45c 100755 --- a/tools/criticalstat.py +++ b/tools/criticalstat.py @@ -328,4 +328,7 @@ def print_event(cpu, data, size): ('preempt' if preemptoff else 'IRQ'), args.duration)) while 1: - b.perf_buffer_poll(); + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/dbslower.py b/tools/dbslower.py index 92d4127652ec..24e63948c8d4 100755 --- a/tools/dbslower.py +++ b/tools/dbslower.py @@ -230,4 +230,7 @@ def print_event(cpu, data, size): bpf["events"].open_perf_buffer(print_event, page_cnt=64) while True: - bpf.perf_buffer_poll() + try: + bpf.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/dcsnoop.py b/tools/dcsnoop.py index 13152c2acc6e..4c3757188375 100755 --- a/tools/dcsnoop.py +++ b/tools/dcsnoop.py @@ -162,4 +162,7 @@ def print_event(cpu, data, size): b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/execsnoop.py b/tools/execsnoop.py index 6fdde97ececb..0c2c0655a41f 100755 --- a/tools/execsnoop.py +++ b/tools/execsnoop.py @@ -246,4 +246,7 @@ def print_event(cpu, data, size): # loop with callback to print_event b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/ext4slower.py b/tools/ext4slower.py index 88db8311c082..16b56ec4cfa5 100755 --- a/tools/ext4slower.py +++ b/tools/ext4slower.py @@ -356,4 +356,7 @@ def print_event(cpu, data, size): # read events b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/filelife.py b/tools/filelife.py index 410659d0110d..f66f00bb2d56 100755 --- a/tools/filelife.py +++ b/tools/filelife.py @@ -141,4 +141,7 @@ def print_event(cpu, data, size): b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/fileslower.py b/tools/fileslower.py index 25443a230b36..ce7132aa2096 100755 --- a/tools/fileslower.py +++ b/tools/fileslower.py @@ -250,4 +250,7 @@ def print_event(cpu, data, size): b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/funcslower.py b/tools/funcslower.py index f2f08dea78a2..283c80182ecc 100755 --- a/tools/funcslower.py +++ b/tools/funcslower.py @@ -330,4 +330,7 @@ def print_event(cpu, data, size): b["events"].open_perf_buffer(print_event, page_cnt=64) while True: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/gethostlatency.py b/tools/gethostlatency.py index 3a967ae283c4..8d07e23ab151 100755 --- a/tools/gethostlatency.py +++ b/tools/gethostlatency.py @@ -135,4 +135,7 @@ def print_event(cpu, data, size): # loop with callback to print_event b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/inject.py b/tools/inject.py index 741a0fb10d30..bf07a8ff840c 100755 --- a/tools/inject.py +++ b/tools/inject.py @@ -507,7 +507,10 @@ def _generate_program(self): def _main_loop(self): while True: - self.bpf.perf_buffer_poll() + try: + self.bpf.perf_buffer_poll() + except KeyboardInterrupt: + exit() def run(self): self._create_probes() diff --git a/tools/killsnoop.py b/tools/killsnoop.py index d60c72e321aa..16221a2a2b59 100755 --- a/tools/killsnoop.py +++ b/tools/killsnoop.py @@ -145,4 +145,7 @@ def print_event(cpu, data, size): # loop with callback to print_event b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/lib/uflow.py b/tools/lib/uflow.py index 02cad55e35a4..63fab877d071 100755 --- a/tools/lib/uflow.py +++ b/tools/lib/uflow.py @@ -206,4 +206,7 @@ def print_event(cpu, data, size): bpf["calls"].open_perf_buffer(print_event) while 1: - bpf.perf_buffer_poll() + try: + bpf.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/lib/ugc.py b/tools/lib/ugc.py index 828891082766..8841d5faa2d7 100755 --- a/tools/lib/ugc.py +++ b/tools/lib/ugc.py @@ -244,4 +244,7 @@ def print_event(cpu, data, size): bpf["gcs"].open_perf_buffer(print_event) while 1: - bpf.perf_buffer_poll() + try: + bpf.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/lib/uthreads.py b/tools/lib/uthreads.py index 71e9c6aeec7b..90d0a745b7b5 100755 --- a/tools/lib/uthreads.py +++ b/tools/lib/uthreads.py @@ -128,4 +128,7 @@ def print_event(cpu, data, size): bpf["threads"].open_perf_buffer(print_event) while 1: - bpf.perf_buffer_poll() + try: + bpf.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/mdflush.py b/tools/mdflush.py index 70afc4d7c142..485635d704ac 100755 --- a/tools/mdflush.py +++ b/tools/mdflush.py @@ -78,4 +78,7 @@ def print_event(cpu, data, size): # read events b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/mountsnoop.py b/tools/mountsnoop.py index e9b586511c2c..f78fe0b60939 100755 --- a/tools/mountsnoop.py +++ b/tools/mountsnoop.py @@ -414,7 +414,11 @@ def main(): print('{:16} {:<7} {:<7} {:<11} {}'.format( 'COMM', 'PID', 'TID', 'MNT_NS', 'CALL')) while True: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() + if __name__ == '__main__': diff --git a/tools/mysqld_qslower.py b/tools/mysqld_qslower.py index d76077354ef2..ab23b5b1ae4d 100755 --- a/tools/mysqld_qslower.py +++ b/tools/mysqld_qslower.py @@ -130,4 +130,7 @@ def print_event(cpu, data, size): # loop with callback to print_event b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/nfsslower.py b/tools/nfsslower.py index 2f92c908a154..32e91c7b62c9 100755 --- a/tools/nfsslower.py +++ b/tools/nfsslower.py @@ -325,4 +325,7 @@ def print_event(cpu, data, size): b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: + try: b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/oomkill.py b/tools/oomkill.py index 0677e49ef34e..db3a53786f38 100755 --- a/tools/oomkill.py +++ b/tools/oomkill.py @@ -77,4 +77,7 @@ def print_event(cpu, data, size): print("Tracing OOM kills... Ctrl-C to stop.") b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/opensnoop.py b/tools/opensnoop.py index 418d47bc6e9d..818c60276ba5 100755 --- a/tools/opensnoop.py +++ b/tools/opensnoop.py @@ -191,4 +191,7 @@ def print_event(cpu, data, size): b["events"].open_perf_buffer(print_event, page_cnt=64) start_time = datetime.now() while not args.duration or datetime.now() - start_time < args.duration: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/runqslower.py b/tools/runqslower.py index 7a1869cf1ce6..7af12e5090b3 100755 --- a/tools/runqslower.py +++ b/tools/runqslower.py @@ -254,4 +254,7 @@ def print_event(cpu, data, size): # read events b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/solisten.py b/tools/solisten.py index 6a35f82ba465..e8168909203f 100755 --- a/tools/solisten.py +++ b/tools/solisten.py @@ -210,4 +210,7 @@ def print_event(cpu, data, size): # Read events while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/sslsniff.py b/tools/sslsniff.py index 0c9f976b5cf9..265e87f404c0 100755 --- a/tools/sslsniff.py +++ b/tools/sslsniff.py @@ -228,4 +228,7 @@ def print_event(cpu, data, size, rw): b["perf_SSL_write"].open_perf_buffer(print_event_write) b["perf_SSL_read"].open_perf_buffer(print_event_read) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/statsnoop.py b/tools/statsnoop.py index 4e62ebd2c73f..516eda2d84a6 100755 --- a/tools/statsnoop.py +++ b/tools/statsnoop.py @@ -179,4 +179,7 @@ def print_event(cpu, data, size): # loop with callback to print_event b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/syncsnoop.py b/tools/syncsnoop.py index ba3f1d3749a7..708fbc4a0fb2 100755 --- a/tools/syncsnoop.py +++ b/tools/syncsnoop.py @@ -50,4 +50,7 @@ def print_event(cpu, data, size): # loop with callback to print_event b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/tcpaccept.py b/tools/tcpaccept.py index 884b0c517f39..e278075ea31f 100755 --- a/tools/tcpaccept.py +++ b/tools/tcpaccept.py @@ -270,4 +270,7 @@ def print_ipv6_event(cpu, data, size): b["ipv4_events"].open_perf_buffer(print_ipv4_event) b["ipv6_events"].open_perf_buffer(print_ipv6_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/tcpconnect.py b/tools/tcpconnect.py index ac84326a6586..13c987b94530 100755 --- a/tools/tcpconnect.py +++ b/tools/tcpconnect.py @@ -237,4 +237,7 @@ def print_ipv6_event(cpu, data, size): b["ipv4_events"].open_perf_buffer(print_ipv4_event) b["ipv6_events"].open_perf_buffer(print_ipv6_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/tcpconnlat.py b/tools/tcpconnlat.py index 0d21b837c5f7..9f25f0f41aa2 100755 --- a/tools/tcpconnlat.py +++ b/tools/tcpconnlat.py @@ -264,4 +264,7 @@ def print_ipv6_event(cpu, data, size): b["ipv4_events"].open_perf_buffer(print_ipv4_event) b["ipv6_events"].open_perf_buffer(print_ipv6_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/tcpdrop.py b/tools/tcpdrop.py index d9fbdf5117bb..ca89be60c8ab 100755 --- a/tools/tcpdrop.py +++ b/tools/tcpdrop.py @@ -221,4 +221,7 @@ def print_ipv6_event(cpu, data, size): b["ipv4_events"].open_perf_buffer(print_ipv4_event) b["ipv6_events"].open_perf_buffer(print_ipv6_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/tcplife.py b/tools/tcplife.py index 51ed7ae2ae61..46395822b289 100755 --- a/tools/tcplife.py +++ b/tools/tcplife.py @@ -506,4 +506,7 @@ def print_ipv6_event(cpu, data, size): b["ipv4_events"].open_perf_buffer(print_ipv4_event, page_cnt=64) b["ipv6_events"].open_perf_buffer(print_ipv6_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/tcpretrans.py b/tools/tcpretrans.py index 440048307be7..47ac8c105d82 100755 --- a/tools/tcpretrans.py +++ b/tools/tcpretrans.py @@ -303,4 +303,7 @@ def depict_cnt(counts_tab, l3prot='ipv4'): b["ipv4_events"].open_perf_buffer(print_ipv4_event) b["ipv6_events"].open_perf_buffer(print_ipv6_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/tcpstates.py b/tools/tcpstates.py index 1444b3181e47..4a21f020550e 100755 --- a/tools/tcpstates.py +++ b/tools/tcpstates.py @@ -386,4 +386,7 @@ def print_ipv6_event(cpu, data, size): b["ipv4_events"].open_perf_buffer(print_ipv4_event, page_cnt=64) b["ipv6_events"].open_perf_buffer(print_ipv6_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/tcptracer.py b/tools/tcptracer.py index 16bb4b1a83d1..cc92c3fc9bf3 100755 --- a/tools/tcptracer.py +++ b/tools/tcptracer.py @@ -662,4 +662,7 @@ def inet_ntoa(addr): b["tcp_ipv4_event"].open_perf_buffer(print_ipv4_event) b["tcp_ipv6_event"].open_perf_buffer(print_ipv6_event) while True: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/ttysnoop.py b/tools/ttysnoop.py index 978051815b9b..07f272fa9a1f 100755 --- a/tools/ttysnoop.py +++ b/tools/ttysnoop.py @@ -121,4 +121,7 @@ def print_event(cpu, data, size): # loop with callback to print_event b["events"].open_perf_buffer(print_event) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/xfsslower.py b/tools/xfsslower.py index c70721a67ce4..b79527b118bb 100755 --- a/tools/xfsslower.py +++ b/tools/xfsslower.py @@ -303,4 +303,7 @@ def print_event(cpu, data, size): # read events b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit() diff --git a/tools/zfsslower.py b/tools/zfsslower.py index 8ab283a7d3d4..7bf160b7f756 100755 --- a/tools/zfsslower.py +++ b/tools/zfsslower.py @@ -315,4 +315,7 @@ def print_event(cpu, data, size): # read events b["events"].open_perf_buffer(print_event, page_cnt=64) while 1: - b.perf_buffer_poll() + try: + b.perf_buffer_poll() + except KeyboardInterrupt: + exit()