Is there a way to pause and resume FFmpeg encoding?
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 &lt;PID&gt; to suspend.

Then resume with fg command or kill -s SIGCONT &lt;PID&gt;.

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.