cd插入C时发出信号

有没有一种方法可以检测Linux是否在C中插入了CD?

我尝试了SIGIO信号:

fd = open("/dev/cdrom",O_RDWR | O_NONBLOCK );
struct sigaction saio;  

saio.sa_handler = signal_handler_IO;
saio.sa_flags = 0;
saio.sa_restorer = NULL; 
sigaction(SIGIO,&saio,NULL);

fcntl(fd,F_setfL,FNDELAY);
fcntl(fd,F_SETOWN,getpid());
fcntl(fd,O_ASYNC );

但是永远不会调用函数“ signal_handler_IO”。

是否有可能这样做?

iCMS 回答:cd插入C时发出信号

您是否尝试使用poll()或任何类似的功能? (epoll / epoll_wait / select /...)

https://man7.org/linux/man-pages/man2/poll.2.html

本文链接:https://www.f2er.com/2138999.html

大家都在问