fixed pexec() always running async