Interrupting a Batch Processing Task on macOS
Control Center will allow you to cancel a batch processing task before it starts by deleting it from the queue, but if you delete a batch processing task while it is already processing, it will still finish in the background.
Vectorizing tasks are added to the queue on a per-drawing basis. This means that if you want to interrupt the vectorization of a scene, you can simply stop the batch processing service and clear the queue in Control Center. However, rendering tasks are added to the queue on a per-scene basis. Therefore, the only way to interrupt the rendering of a scene while it is currently rendering is by interrupting the Harmony process that is rendering the scene.
-
In a terminal, enter the following command:
$ pgrep tbprocess
The command will output the process ID (pid) of the batch processing service (tbprocess).
-
Enter the following command to get the process ID of the child process of the batch processing service, replacing <pid> with the process ID of the batch processing service:
$ pgrep -P <pid of tbprocess>
This outputs the process ID of the shell in which the batch processing job is being ran.
-
Enter the same command, but this time, put the process ID of the child process of the batch processing service.
$ pgrep -P <pid of shell>
This outputs the process ID of the Harmony session that is rendering the job.
-
Enter the same command, but again, put the process ID returned by the last command instead:
$ pgrep -P <pid of Harmony>
This either outputs nothing or, if Harmony is rendering a movie file, the process ID of the media server creating the movie file.
-
Enter the following command followed by the process IDs for the shell, the Harmony session and, if applicable, the utility creating the movie file:
$ sudo kill -SIGKILL <pid of shell> <pid of Harmony> <pid of media server>
You can execute each command in one go by copying and pasting the following line to the terminal:
$ TBPROCESSPID=$(pgrep tbprocess) && TBSHELLPID=$(pgrep -P $TBPROCESSPID) && TBHARMONYPID=$(pgrep -P $TBSHELLPID) && TBMEDIAPID=$(pgrep -P $TBHARMONYPID); sudo kill -SIGKILL $TBSHELLPID $TBHARMONYPID $TBMEDIAPID