Perm

perm is an empty file used to prevent two NetHack processes from starting at the same time, so they do not use the same file name for the temporary level files.

When one process succeeds in locking the perm file, it can start (or restore) but other processes trying to start NetHack have to wait until the lock is released. Ordinarily that release happens immediately, as soon as a name for the level files is chosen. However, if the first process dies or suffers network disconnect before releasing the lock, the second and later ones are out of luck.