Met*_*est 15 c linux signals memory-management
我在Linux中有一个多线程的程序.有一些记忆区域,我有兴趣看看它们是否在一定时间内写完.为此,我只给予那些内存页面的读访问权限,并为SIGSEGV安装信号处理程序.现在我的问题是,每个线程是否会为自己调用信号处理程序.假设线程1写入一些禁止的内存区域,它会执行信号处理程序吗?
不,问题标题.
问题正文:对于你要求的特定信号,是(否则:取决于).导致段错误的线程将接收信号.
见信号(7):
A signal may be generated (and thus pending) for a process as a whole (e.g.,
when sent using kill(2)) or for a specific thread (e.g., certain signals, such
as SIGSEGV and SIGFPE, generated as a consequence of executing a specific
machine-language instruction are thread directed [...].
Run Code Online (Sandbox Code Playgroud)