Change SIGKILL to SIGINT for clean kill, change pid of background processes.

Make the reported pid of background processes the first child in the command. This is because when you pipe multiple commands and kill any but the first, the processes after it in the pipe chain will terminate and leave the process table, but the processes before it in the chain of pipes will not.