Demonstrations of reset-ftrace, the Linux ftrace tool. You will probably never need this tool. If you kill -9 an ftrace-based tool, leaving the kernel in a tracing enabled state, you could try using this tool to reset ftrace and disable tracing. Make sure no other ftrace sessions are in use on your system, or it will kill those. Here's an example: # ./opensnoop Tracing open()s. Ctrl-C to end. ERROR: ftrace may be in use by PID 2197 /var/tmp/.ftrace-lock I tried to run opensnoop, but there's a lock file for PID 2197. Checking if it exists: # ps -fp 2197 UID PID PPID C STIME TTY TIME CMD # No. I also know that no one is using ftrace on this system. So I'll use reset-ftrace to clean up this lock file and ftrace state: # ./reset-ftrace ERROR: ftrace lock (/var/tmp/.ftrace-lock) exists. It shows ftrace may be in use by PID 2197. Double check to see if that PID is still active. If not, consider using -f to force a reset. Exiting. ... except it's complaining about the lock file too. I'm already sure that this PID doesn't exist, so I'll add the -f option: # ./reset-ftrace -f Reseting ftrace state... current_tracer, before: 1 nop current_tracer, after: 1 nop set_ftrace_filter, before: 1 #### all functions enabled #### set_ftrace_filter, after: 1 #### all functions enabled #### set_ftrace_pid, before: 1 no pid set_ftrace_pid, after: 1 no pid kprobe_events, before: kprobe_events, after: Done. The output shows what has been reset, including the before and after state of these files. Now I can try iosnoop again: # ./iosnoop Tracing block I/O. Ctrl-C to end. COMM PID TYPE DEV BLOCK BYTES LATms supervise 1689 W 202,1 17039664 4096 0.58 supervise 1689 W 202,1 17039672 4096 0.47 supervise 1694 W 202,1 17039744 4096 0.98 supervise 1694 W 202,1 17039752 4096 0.74 supervise 1684 W 202,1 17039760 4096 0.63 [...] Fixed. Note that reset-ftrace currently only resets a few methods of enabling tracing, such as set_ftrace_filter and kprobe_events. Static tracepoints could be enabled individually, and this script currently doesn't find and disable those. Use -h to print the USAGE message: # ./reset-ftrace -h USAGE: reset-ftrace [-fhq] -f # force: delete ftrace lock file -q # quiet: reset, but say nothing -h # this usage message eg, reset-ftrace # disable active ftrace session