Executes the process. If the process has not completed after the
specified amount of seconds, it is killed.
Parameters: timeout - the timeout in seconds throws: ForkedCommandException - if process execution fails for some reasonor if the timeout has expired and the process was killed
Determines if the threads collecting the forked process' stdout/stderr
should be joined.
Parameters: flag - boolean indicating if threads should be joined