Linux 시스템 새 타이머 핸들 timerfd 사용
7799 단어 Linux 시스템Linux C 프로 그래 밍
struct timespec {
time_t tv_sec; /* Seconds */
long tv_nsec; /* */
};
struct itimerspec {
struct timespec it_interval; /* */
struct timespec it_value; /* */
};
#include
#include
#include
#include
using namespace std;
int main() {
struct timespec now ;
if(clock_gettime(CLOCK_REALTIME, &now) == -1) {
return -1 ;
}
struct itimerspec itime ;
//
itime.it_value.tv_sec = now.tv_sec ; // ,
itime.it_value.tv_nsec = now.tv_nsec ;
//
itime.it_interval.tv_sec = 5 ; //seconds
itime.it_interval.tv_nsec = 0 ; //(ns)//
int fd = timerfd_create(CLOCK_REALTIME, 0) ;
if(fd < 0) {
return -1 ;
}
if(timerfd_settime(fd,TFD_TIMER_ABSTIME, &itime, NULL) == -1) {
return -1 ;
}
int sum = 0 ;
while(1) {
uint64_t res ;
int ret = read(fd, &res, sizeof(res)) ;
if(ret == -1) {
return -1 ;
}
sum += res ;
cout << sum<<" " << res << endl ;
}
close(fd) ;
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
64비트 win7 장착 Debian 듀얼 시스템인터넷에 이런 글이 많이 올라오기 때문에 Debian ISO 파일을 먼저 내리면 여기에 내려갈 수 있습니다. 사실 USB를 설치하는 것도 매우 편리해서 안내 프로그램을 만드는 것은 본래 매우 번거롭다.그러나 Ultr...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.