Можешь написать кастомный процесс с использованием контекстного менеджера.
Метод __enter__() выполняется на старте, а __exit__() всегда на выходе из контекстного менеджера, ты можешь отловить в нём свои ошибки и сделать необходимые действия.
from multiprocessing import Process
class CustomProcess(Process):
def __init__(self):
super().__init__()
def __enter__(self):
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print(exc_type, exc_val, exc_tb)
print("Посмертное действие")
if __name__ == '__main__':
with CustomProcess() as process:
raise Exception("Some Value")