Is there a way to pause and resume FFmpeg encoding? I record a few hours of video footage every day, which I set in queue for encoding with ffmpeg. I use the veryslow preset with x265, so a single hour of video may take up to 20 hours or more to encode.

Since my computer is working day and night, I'm wondering if ffmpeg has a way to pause and resume encoding? I'm using Terminal for OS X.

If so, can I also continue encoding even after shutting down Terminal and rebooting the computer? I think the Terminal session is restored when you log in again in OS X, at least the Terminal history is.
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.