File Descriptors And Open Files Every process has a file descriptors table. This is an array with entries that point to system-wise file descriptors tables, which themselves contain data about different open files - the disk location of the file, the current location in the file (from which the next read will be performed), etc. When calling 'fork', the file descriptors table is being copied into the newly created process. Thus, a file open in the parent process will also be opened in the child process. When a file is kept open in any process, erasing the file won't cause it to be removed from the disk until all processes close it. This explains why sometimes removal of files does not free disk space. Remember this when removing large log files.