Я не знаю, как я могу обнаружить, что компьютер проснулся, или даже я предпочел бы обнаружить пробуждение по локальной сети. Я понятия не имею, что является обычным способом, я обнаружил, что в /etc/pm/sleep.d я могу добавить собственный сценарий, но мне нужно, чтобы меня вызывали в моем приложении C ++. Теперь я знаю, что мог бы также добавить пользовательский исполняемый файл, написанный на C ++, и отправить сокет и прослушать его где-нибудь еще, но это звучит слишком сложно.
Ваше приложение на C ++ является демоном? Вы можете добавить сценарий оболочки в /etc/pm/sleep.d, который должен отправить сигнал вашему приложению C ++ (например, SIGUSR1). Внутри приложения C ++ вам нужно поймать этот сигнал.
увидеть
man kill
man 7 signal
man signal
Это похоже на решение с сокетами, но проще.