¿Cómo desactivar el apagado para que no se pueda interrumpir un proceso importante?

¿Cómo desactivar el apagado para que no se pueda interrumpir un proceso importante?

¿Cuál es la forma más sencilla de desactivar o suspender temporalmente el reinicio/apagado cuando se está ejecutando un proceso importante? El proceso tarda demasiado en finalizar y no se puede pausar/reanudar, por lo que prefiero evitar apagar la PC mientras se está ejecutando. Se ejecuta desde cron, por lo que, a menos que verifique manualmente los procesos en ejecución, no sabría que se está ejecutando. Gracias.

Respuesta1

Para sistemas más nuevos con systemd, esto se ha resuelto con systemd-inhibit. Ejemplo de uso:

systemd-inhibit --why="Doing weekly backup" bash my-backups.sh

Luego, si un usuario intenta apagarlo, no se le permitirá a menos que lo fuerce.

❯ systemctl poweroff
Operation inhibited by "bash my-backups.sh" (PID 2414 "systemd-inhibit", user ntrrgc),
reason is "Doing weekly backup".
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl poweroff -i'.

Respuesta2

Ejecute which shutdownpara ver dónde está la ruta al programa de apagado. Puede cambiar el nombre del archivo, aunque no lo recomiendo.

Otro método (más seguro). Utilice un alias: alias shutdown=' ' algo como esto es más reversible. Si está intentando evitar el cierre de todos los usuarios, agregue el alias globalmente.

Respuesta3

Deshabilite los comandos similares a "apagar/reiniciar/apagar/detener/nombre de host" en servidores de misión crítica

chmod 0 /sbin/shutdown

luego, si necesita usarlo, vuelva a modificarlo a chmod 0755.

Respuesta4

Quería evitar que un usuario local apagara una computadora portátil durante una actualización. Deshabilitar el dispositivo de entrada fue la mejor manera de hacerlo. Para mí fue suficiente desactivar el mouse, pero el teclado también se puede desactivar.

Por supuesto, hay un inconveniente: el ordenador no se puede utilizar durante este período.

Deshabilite la entrada de teclado y mouse en Unix (bajo X)

información relacionada