title: How does ptrace work in Linux?
body: <p>The <code>ptrace</code> system call allows the parent process to inspect the attached child. For example, in Linux, <code>strace</code> (which is implemented with the <code>ptrace</code> system call) can inspect the system calls invoked by the child process.</p>
  
  <p>When the attached child process invokes a system call, the ptracing parent process can be notified. But how exactly does that happen? I want to know the technical details behind this mechanism.</p>
  
  <p>Thank you in advance.</p>