Windows has something called the ShutdownBlockReasonCreate API which enables apps with long running operations to prevent a shutdown to avoid corruption or losing work.
Is there an equivalent for Linux? When used appropriately, it makes shut downs even more graceful.