Suspend
A simple method is to suspend it with ctrl+z. Or you could get the PID with pgrep ffmpeg
then use kill -s SIGSTOP <PID>
to suspend.
Then resume with fg
command or kill -s SIGCONT <PID>
.
Unfortunately this will not survive a reboot.
VM
If you use a virtual machine, with something like VirtualBox, you could perform your encoding in a guest VM. It will allow you to "save the machine state" at any time which can survive a reboot. It can also allow you to assign max CPU resources for the guest so your host will always have available resources.
Possibly overkill, but if you're familiar with VMs or using one already it is a possible solution.