While I was working on the timeout functionallity, I found some bugs in the script, related to the dictionaries that I added in my last commit.

 The problem was that when a process ends, if I free the fd associated to its output pipe (to let the process be eliminated by the garbage collector), another process can take the same fd number so the dictionary becomes useless. The solution consists into take another dictionary and store in it the outputs of the ended processes, indexed by pid of the subprocess that generated it, instead of the fd