WATCHDOG NOTLARI ---------------- - yükleme aptitude install watchdog - servisler /etc/init.d/watchdog /etc/init.d/wd_keepalive - ayarlar /etc/default/watchdog run_watchdog=1 watchdog_module="advantechwdt" #watchdog_module="softdog" /etc/watchdog.conf watchdog-device = /dev/watchdog realtime = yes priority = 1 - manuel kullanım . servisler kapatılacak . çekirdek modülünün yüklenmesi modprobe MODUL . çekirdek modülünün kaldırılması echo 'V' >/dev/watchdog rmmod MODUL . klasik kullanım şekli (python ile) d = open('/dev/watchdog', 'w') while True: d.write('1') time.sleep(10) d.write('V') d.close() - Advantech PCM-9375 için Watchdog kullanımı Arguman olarak 0 verilirse watchdog devreden çıkar. Arguman olarak 0 ile 255 arasi bir sayı verilirse bu deger watchdog timer sayacı olarak kaydedilir ve geriye dogru sayılmaya başlanır. 0 olduğunda makine resetlenir. Bu nedenle, 0 olmadan önce bir daha set edilmesi gerekmektedir. #include #include #include #define WATCHDOG 0x866 int main(int argc, char * argv[]) { // set edilecek sayac degeri verilmisse if (argc > 1) { // sayac degerini al int sayac = atoi(argv[1]); // 255'ten buyukse, sayaci 255 kabul et if (sayac > 255) { sayac = 255; } // Watchdog I/O adresine yazma hakki al if (ioperm(WATCHDOG, 8, 1)) { perror("ioperm"); return 1; } // Watchdog timeout suresini set et outb(sayac, WATCHDOG); // Watchdog I/O adresini serbest birak if (ioperm(WATCHDOG, 8, 0)) { perror("ioperm"); return 1; } // sayac degeri verilmemisse hata var demektir } else { return 1; } return 0; }