Мне нужно убить программу на C, если она не отвечает. Я управляю сторожевым таймером в этой программе, но могу только перезагрузить систему. Я хочу управлять сторожевым таймером, чтобы перезапустить программу, ту же C-программу, где я управляю сторожевым таймером.
Это можно сделать?
У меня есть этот код:
int interval; /* Watchdog timeout interval (in secs) */
int bootstatus; /* Wathdog last boot status */
char *dev; /* Watchdog default device file */
int next_option; /* getopt iteration var */
char kick_watchdog; /* kick_watchdog options */
/* Init variables */
dev = WATCHDOGDEV;
interval = 10;
kick_watchdog = 0;
и внутри основного цикла у меня есть:
ioctl(fd, WDIOC_KEEPALIVE, NULL);
если мне нужно остановить это:
write(fd, "V", 1);
/* Closing the watchdog device will deactivate the watchdog. */
close(fd);