腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Linux
中
忽略
信号
的复位掩码
、
、
、
在exec()期间,阻塞
信号
的掩码(由sigprocmask()设置)由子进程继承。但是现在我注意到在
Linux
下,也有被
忽略
的
信号
(grep < /proc/self/status ^SigIgn)的掩码,它也是由子进程继承的。考虑下面的示例:父级想
忽略
SIGINT,但这也扩展到子级,因此不能再用sleep 120来杀死kill -INT $(pidof sleep)了。 这个POSIX符合吗?
Linux
手册页说“
忽略
的
浏览 1
提问于2019-11-22
得票数 2
回答已采纳
1
回答
检测
信号
的发送方(
linux
、ptrace)
、
、
我是否可以区分
信号
,直接传递给进程和通过调试器传递。 $ .那么,我如何在
信号
处理程序中检测到它是由调试器重新发送的,还是由系统发送的? 操作系统为
Linux
,内核为2.6.30。程序是用纯C编写的。
浏览 3
提问于2010-03-30
得票数 3
回答已采纳
1
回答
如何连续交替
信号
处理程序
、
、
、
我想用c++为
linux
编写一个程序,它收集第一个SIGUSR1
信号
,
忽略
第二个
信号
,并对连续的SIGUSR1
信号
继续这种行为(捕获-
忽略
)。我想知道如何在这两个处理程序之间保持交替,因为一旦我将处理程序设置为SIG_IGN,
信号
将被
忽略
,我将无法检测它并采取相应的行动。
浏览 1
提问于2016-09-10
得票数 0
回答已采纳
1
回答
终止运行在val差制下的进程并创建摘要。
、
我在x86_64 GNU/
Linux
3.12.0版中使用了该版本。
Linux
的解散是Suse版本3.0.101-63-默认。我试着用杀灭pid来终止这个过程,但是这个
信号
被
忽略
了。只有当SIGBUS
信号
被发送时,val差制才被终止并创建总结。但是我不知道用这个
信号
我取的是正确的结果吗?还有其他方法来终止这场战争吗?我使用杀害-9,但根本没有创建摘要。 谢谢
浏览 0
提问于2017-01-20
得票数 1
回答已采纳
1
回答
在“`execve`”调用过程中保留无特权进程的哪些属性?
、
、
、
我正在教授一门操作系统课程,并试图用fork/execve技术来创建新的进程。另一方面,在创建子进程之后,它运行execve来用新进程替换其大部分内存。例如,程序代码、堆栈和堆被完全替换,并作为一个新程序从头开始。我想,没有被execve调用替换的全部属性列表相当长,但是还有其他关键属性(如我前面提到的那些属性)吗?
浏览 0
提问于2018-09-22
得票数 2
回答已采纳
1
回答
在execvp()之前将
忽略
的
信号
设置为SIG_DFL
、
、
、
、
据我所知,execvX()将“自定义”
信号
处理程序重置为SIG_DFL,但没有将任何
忽略
的
信号
处理程序设置为SIG_DFL。记住,它是一个库,我不能控制用户将如何处理
信号
,将
忽略
信号
的
信号
处理程序设置为SIG_DFL是个好主意吗? 如果是这样,有没有办法一次将所有
信号
处理程序都设置为SIG_DFL?我必须遍历所有的
信号
号码吗?在这种情况下,我如何找到最后一个可能的
信号
号?我已经看到在bitssignum.h中有_NS
浏览 2
提问于2012-08-22
得票数 0
回答已采纳
1
回答
linux
kill()在进程执行
信号
处理程序之后返回吗?
、
、
linux
内核是否确保程序在
linux
()返回之前就被杀死了?如果没有,我必须检查这个程序是否已经被消灭了。
浏览 2
提问于2020-03-01
得票数 1
回答已采纳
1
回答
如果一个程序是由system()或CreateProcess()从另一个程序启动的,如何防止Ctrl+Break/Ctrl+C同时关闭这两个程序?
、
、
这是测试示例:#include <iostream> int counter = 0;}#include <iostream>
浏览 1
提问于2012-06-04
得票数 5
回答已采纳
2
回答
在
Linux
中重新传播捕获的
信号
、
、
我尝试对SIGSEGV和其他
信号
使用sigwait(),然后做一些事情(比如将时间戳写到文件中)。然后,我希望程序的行为就像
信号
从未被捕获一样(例如,当SIGSEGV发生时会生成一个核心转储-假设系统配置为核心转储)。有什么建议吗? 提前感谢!
浏览 1
提问于2013-05-14
得票数 2
1
回答
与系统功能有关的问题
、
在下面的代码中,当系统函数被执行(在
Linux
中并使用g++编译)时,它将发送SIGCHLD
信号
到处理(调用它的),而这在Solaris代码中是不会发生的。我的意思是,如果我在Solaris中运行相同的代码,系统函数就不会向调用它的进程发送任何
信号
。因此,我在
Linux
中的进程挂起。为什么系统功能在Solaris中没有发送任何
信号
? 实际上,在我的实际应用程序中(其中单个
信号
处理程序用于处理大约四个
信号
),其他一些进程
浏览 1
提问于2012-08-17
得票数 1
回答已采纳
2
回答
SPI:
Linux
驱动模型
、
、
我对SPI非常熟悉;
Linux
内核提供了一个API,用于声明SPI总线和设备,并根据标准的
Linux
驱动程序模型管理它们。您可以在这里找到结构spi_master的描述: 上述链路上的描述说,“每个设备可以配置为使用不同的时钟速率,因为这些共享
信号
被
忽略
,除非选择芯片”。要把这句话放在比赛中,我必须说,“设备”指的是SPI从设备,而“那些共享
信号
”指的是MOSI、MISO和SCK
信号
。“由于这些共享
信号
被
忽略
,除非选择芯片”是否意味着允许我使用不同的时
浏览 6
提问于2013-07-05
得票数 4
1
回答
什么是致命
信号
?
、
Linux
编程接口是这样写的: TASK_KILLABLE :这种状态类似于TASK_UNINTERRUPTIBLE,但如果接收到致命
信号
(即会杀死进程的
信号
),则会唤醒该进程。相反,进程可以通过发送致命的
信号
来终止。要转换为使用TASK_KILLABLE的第一段内核代码是NFS。在TASK_KILLABLE中,致命
信号
可以唤醒进程,而在TASK_UNINTERRUPTIBLE中则不然。致命
信号
是否仅意味着SIGKILL,或者也意味着SIGTERM,SIGHUP,SIGQUIT,SIGI
浏览 0
提问于2018-12-24
得票数 4
回答已采纳
2
回答
SIGABRT处理程序在坠机前做些清理
、
、
、
我为SIGABRT
信号
增加了一个感叹器。我想在
信号
处理程序中做同样的事情,但是在崩溃之前,执行清理代码。在一些回复后编辑:
Linux
中止(3)手册页: 如果SIGABRT
信
浏览 10
提问于2014-05-19
得票数 2
回答已采纳
1
回答
如果从Java启动,子进程将
忽略
SIGQUIT
、
、
This is just so that the JVM does not exit }我正在使用openjdk6在
Linux
如果我试图向“睡眠”进程发送一个SIGQUIT
信号
,它就会
忽略
它。其他
信号
(SIGINT、SIGTERM等)都正常工作,但是SIGQUIT被
忽略
了。
浏览 3
提问于2017-03-23
得票数 3
回答已采纳
1
回答
如何使进程
忽略
某些
信号
(如SIGHUP、SIGABRT、SIGABORT、SIGINT等)
、
、
、
我是一个新手,对
linux
有基本的了解。所有
信号
都已由内核在
信号
表中注册了默认
信号
处理程序。请解释机制(使用系统调用或<e
浏览 1
提问于2013-09-01
得票数 1
2
回答
是捕捉还是阻止SIGPIPE?
、
是否捕获或阻止 SIGPIPE或任何其他将终止程序的
信号
?
浏览 2
提问于2016-11-03
得票数 0
1
回答
为什么SIGALARM要在
Linux
上杀死Python程序?
、
、
虽然我没有在程序中显式地处理SIGALARM
信号
,但我只是希望警报会被
忽略
。但是,在
Linux
上,触发警报后脚本就会死掉。我还没有找到
Linux
的任何文档,其中声明它应该是警报
信号
的默认行为。
浏览 0
提问于2018-09-22
得票数 0
回答已采纳
1
回答
当
信号
到达时,线程是否继续执行?
、
、
、
、
我正在用C编写一个多线程程序,其中main()改变了一些
信号
的行为,然后生成更多的线程。问题是:其他线程是在
信号
到达时继续执行,还是在处理
信号
时暂停并继续执行? 谢谢
浏览 4
提问于2017-12-28
得票数 2
回答已采纳
1
回答
异步和同步在通知系统事件的进程和响应
信号
传递的过程中意味着什么?
、
、
在理解
Linux
内核时: Unix
信号
提供了一种通知系统事件进程的机制。每个事件都有自己的
信号
号,通常由符号常量(如SIGTERM )来引用。有两种系统事件:例如异步通知,用户可以通过在终端上按下中断密钥代码(通常是Ctrl)将中断
信号
SIGINT发送到前台进程。例如,当内核访问位于无效地址的内存位置时,内核向进程发送
信号
SIGSEGV。一般来说,一个过程可能以两种可能的方式对
信号
传递作出反应:·
忽略
信号
。异步执行指定的过程(
信号
处理
浏览 0
提问于2017-08-18
得票数 2
1
回答
SIGCHLD的默认配置与显式将配置设置为SIG_IGN之间有什么区别?
、
Linux
编程接口显示 26.3.1为SIGCHLD建立一个处理程序SIGCHLD
信号
在其子进程中的任何时候发送给父进程。默认情况下,这个
信号
会被
忽略
,但是我们可以通过安装一个
信号
处理程序来捕捉它。在
信号
处理程序中,我们可以使用wait() (或类似的)来获取僵尸子类。然而,在这种方法中有一个微妙之处需要考虑。26.3.3
忽略
死子进程还有处理死子进程的进一步可能性。注意,即使
忽略
SIGCHLD的默认配置,显式地将配置设置为SIG_IGN也会导致这里描述
浏览 0
提问于2020-12-08
得票数 -1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统编程 信号量
Android C++系列:Linux信号(三)
公网对讲机信号不稳定,这个因素不能忽略
你真的懂Linux线程和信号的关系吗?
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券