Given a shell process (e.g. sh) and its child process (e.g. cat), how can I simulate the behavior of Ctrl+C using the shell's process ID? This is what I've tried: Running sh and then cat: [user@host ~]$ sh sh-4.3$ cat test test Sending SIGINT to cat from another terminal: [user@host ~]$ kill -SIGINT $PID_OF_CAT cat received the signal and terminated (as expected). Sending the signal to the parent