Para systemd
no Ubuntu 16.04 você também deve considerar o argumento "pre" (suspender) e "post" (resumir) em
para que a reinicialização seja executada somente após a suspensão do sistema .
Eu também tive que adicionar um sleep
para dar tempo suficiente para a verificação da rede ser concluída (meu melhor palpite).
$ sudo cat /lib/systemd/system-sleep/network-manager-restart
#!/bin/sh
set -e
if [ "" = "suspend" ] || [ "" = "hybrid-sleep" ]; then
case "" in
post) sleep 10 ; systemctl restart network-manager ;;
esac
fi
Para mais detalhes, leia: link
Imediatamente antes de entrar no sistema suspender e / ou hibernar
systemd-suspend.service (e as outras unidades mencionadas, respectivamente)
executará todos os executáveis em / usr / lib / systemd / system-sleep / e pass
dois argumentos para eles. O primeiro argumento será "pre", o segundo argumento
ou "suspender", "hibernar" ou "dormir híbrido" dependendo do
ação escolhida. Imediatamente depois de deixar o sistema suspender e / ou
hibernação os mesmos executáveis são executados, mas o primeiro argumento é
agora "post". Todos os executáveis neste diretório são executados
paralela, e a execução da ação não é continuada até que todos
executáveis terminaram.