나는 리눅스에서 타이머 인터럽트를 사용하여 소프트웨어 wathdog 타이머를하고 싶다. 어떻게 리눅스에서 타이머 인터럽트를 생성 할 수 있습니까?.리눅스에서 WatchDog 타이머
3
A
답변
8
타이머 인터럽트를 사용하려면 신호를 사용하고 특히 SIGALRM
을 사용하십시오. alarm() 함수를 사용하여 시간 초과를 요청할 수 있습니다. 당신이 쓸모가 있다면 ualarm()을 사용할 수 있습니다. 제한 시간에 도달하면 이전에 정의한 콜백 함수가 호출됩니다. 당신은 감시 구현하기위한 몇 가지 다른 옵션이
#include <signal.h>
void watchdog(int sig)
{
printf("Pet the dog\r\n");
/* reset the timer so we get called again in 5 seconds */
alarm(5);
}
/* start the timer - we want to wake up in 5 seconds */
int main()
{
/* set up our signal handler to catch SIGALRM */
signal(SIGALRM, watchdog);
alarm(5);
while (true)
;
}
: 여기
는 예제 코드입니다- 쓰기/실제로 하드 리셋을 적용, 감시로 작동하는 커널 드라이버를 사용하여 개가 애완 동물이 아니거나 (걷어차는)
- 소프트웨어 감시 장치 데몬의 흥미로운 구현 인 watchdog을 사용하십시오.
1
인터럽트는 응용 프로그램 수준에 없습니다 (커널 만 커널을 관리하며 실제로 많은 타이머 인터럽트가 발생 함). 신호, 타이머 및 지연 시스템 호출 (특히 poll
또는 nanosleep
)을 가질 수 있습니다. Advanced Linux Programming을 읽으십시오.
먼저 time(7) 매뉴얼 페이지를 읽으십시오. 그리고 일부 커널은 또한 워치 독 타이머를 구성 할 수 있습니다
등 timer_create(2), poll(2), timerfd_create(2), setitimer(2), sigaction(2), nanosleep(2), clock_gettime(2) ... ... 여러분의 소중한 답변
관련 문제
- 1. VXWorks WatchDog 타이머 대 Posix 타이머
- 2. 리눅스에서 타이머 빈도를 결정하는 방법
- 3. ARM 리눅스에서 Poco와 타이머 문제
- 4. Ruby thread with "watchdog"
- 5. vC++ 응용 프로그램의 watchdog
- 6. 서버용 Linux C++ Watchdog
- 7. 리눅스에서 C의 타이머 콜백 함수를 구현하는 방법
- 8. Python watchdog - 가져 오기 미확인
- 9. python watchdog 모니터링 파일 변경
- 10. drupal watchdog 데이터베이스 항목을 필터링하십시오.
- 11. pyqt 내 watchdog 파일 시스템 감시 실행
- 12. 응용 프로그램 Process.Start 및 WatchDog .net
- 13. Javascript UI watchdog 함수를 사용할 수 없습니다.
- 14. Python Linux - Is-Alive Midori Watchdog
- 15. 타이머 대기열 타이머 삭제
- 16. 타이머
- 17. 타이머
- 18. 타이머
- 19. 타이머
- 20. 타이머
- 21. 타이머
- 22. POSIX의 timer_create() 리눅스에서 문제
- 23. C64 타이머 용 타이머 주파수?
- 24. 스윙 타이머 문제 - 타이머 정지
- 25. 초마다 몇 초 타이머 타이머
- 26. vb.net 타이머 로직 (중첩 타이머)
- 27. 자바 스크립트 신호등 타이머 타이머
- 28. 리눅스 사용자 공간의 고해상도 타이머
- 29. 약 100ms 동안 휴대용주기 타이머
- 30. MAX824/825 PIC 또는 ATMEL과 인터페이스하는 IC Watchdog
감사합니다. 정확한 밀리 초 지연 구현 싶어요. 그게 어떻게 가능해? – VigneshK
문제는 없지만 필자는 대답을 편집 할 것입니다. – stdcall