Add file offset to _exec file operations

When appending output to a file, _exec now takes into account the previous
size of the file and uses this to only consider data appended on this run
when reading process output into the function return value