Справочник по консольным командам Toybox для Android 12


  Ver.0.8.4     Ver.0.8.9     Pending  

Путь: Toys/Other, команды версии: Ver.4     Ver.9


watchdog

Комментарии в файле watchdog.c :

usage: watchdog [-F] [-t UPDATE] [-T DEADLINE] DEV

Запустите сторожевой таймер в DEV с необязательными параметрами тайм-аута.
  • -F работать на переднем плане (не демонизировать)
  • -t запускать сторожевой таймер каждые ОБНОВЛЕНИЕ секунд (по умолчанию 4)
  • -T перезагружать, если не задействовать в течение DEADLINE секунд (по умолчанию 60)

  • usage: watchdog [-F] [-t UPDATE] [-T DEADLINE] DEV

    Start the watchdog timer at DEV with optional timeout parameters.
  • -F run in the foreground (do not daemonize)
  • -t poke watchdog every UPDATE seconds (default 4)
  • -T reboot if not poked for DEADLINE seconds (default 60)

  • Исходный текст в файле watchdog.c

    #define FOR_watchdog
    #include "toys.h"
    #include "linux/watchdog.h"
    
    GLOBALS(
      long T, t;
    
      int fd;
    )
    
    static void safe_shutdown(int ignored)
    {
      write(TT.fd, "V", 1);
      close(TT.fd);
      error_exit("safely exited watchdog.");
    }
    
    void watchdog_main(void)
    {
      if (!FLAG(F)) xvdaemon();
      xsignal(SIGTERM, safe_shutdown);
      xsignal(SIGINT, safe_shutdown);
      xioctl(TT.fd = xopen(*toys.optargs, O_WRONLY), WDIOC_SETTIMEOUT, &TT.T);
    
      // Now that we've got the watchdog device open, kick it periodically.
      for (;;) {
        write(TT.fd, "", 1);
        sleep(TT.t);
      }
    }