Use spawn instead of system so we can get the pid sooner, recheck pid before halt