腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
是否将SIGSEGV发送到每个线程?
c
、
linux
、
memory-management
、
signals
我在
Linux
上有一个多线程的程序。有一些特定的
内存
区域,我有兴趣查看它们是否在特定的时间段内被写入。为此,我只提供对这些
内存
页的读
访问
权限,并为SIGSEGV安装一个
信号
处理程序。现在我的问题是,每个线程会为自己调用
信号
处理程序吗?假设线程1写入一些禁止的
内存
区,它会执行
信号
处理程序吗?
浏览 1
提问于2011-06-30
得票数 18
回答已采纳
1
回答
为什么两个相同文件的
linux
进程不能共享文本段?
linux
我正在经历
linux
进程,我有以下疑问。 如果我从不同的shell执行两次相同的程序,就会创建两个进程。我始终认为,这两个进程将分享文本部分。但一些互联网页面表明,文本段不会在进程之间共享。
浏览 2
提问于2014-09-18
得票数 1
回答已采纳
1
回答
Raspberry PI版本1没有检测到未对齐的
访问
。
raspberry-pi
、
arm
、
memory-alignment
为了修复执行未对齐
内存
访问
的Redis的某些代码路径(由于Redis 3.2中引入的更改),我试图迫使PI记录未对齐
内存
访问
的消息,或者在发生这种情况时向进程发送
信号
。通过这种方式,我可以确保Redis在未对齐的
访问
是违规的地方运行良好,并且在平台上运行得更快,这样的
访问
可以执行,但速度更慢。ARM v6 ( PI v1中使用的)显然能够处理未对齐的
内存
访问
,因此如果我使用以下命令配置
Linux
以便向执行未对齐<em
浏览 2
提问于2017-02-17
得票数 3
1
回答
用于监视特定进程的
Linux
内核模块
linux
、
memory-management
、
linux-kernel
、
linux-device-driver
我想在
Linux
中编写一个内核模块,它可以监视由特定进程(我在内核模块中按名称指定的)所进行的所有
内存
访问
。我还想跟踪进程产生的所有
信号
,并记录导致页面错误的所有
内存
访问
,以及导致陷阱或SEGV的
内存
访问
。我怎么能继续这么做?你能告诉我任何能让我开始工作的资源吗?
浏览 4
提问于2015-02-26
得票数 2
回答已采纳
4
回答
内存
访问
的回调?
c++
、
c
、
linux
、
memory
、
kernel
有没有办法在
访问
(读或写)
内存
时分配一些
内存
并进行某种回调(可以是指向函数或
信号
的指针)? 例如,如果我说分配1mb的
内存
,我希望有一种方法来调用一个函数,当这1mb中的任何一个被
访问
时。我正在使用的平台是x86
Linux
,用C/C++编写。
浏览 3
提问于2011-06-02
得票数 5
回答已采纳
2
回答
查找哪些页面不再与“复制即写”共享。
c
、
linux
、
x86-64
、
copy-on-write
、
page-tables
假设我在
Linux
中有一个进程,我从其中fork()另一个相同的进程。在
Linux
之后,由于最初的进程将开始写入
内存
,所以
Linux
的即插即用机制将给出不同于分叉进程使用的进程独特的物理
内存
页。我不想使用SIGSEGV
信号
处理程序,在开始时只允许对所有页面进行读
访问
,因为这会导致我不想要的开销。
浏览 5
提问于2012-04-23
得票数 4
1
回答
包含在可执行文件中的排序算法是否被
信号
11终止?
algorithm
、
sorting
、
signals
所以它在试图
访问
不存在的
内存
?该算法在50万行随机列表上运行良好,在一个有序列表的17万行上执行该算法需要29.48秒(在18万行时,它给了我一个
信号
11)。正如我所说的,我不能
访问
代码,它是一个只执行的文件,但是我想不出为什么任何排序算法都会出现这个问题?
浏览 4
提问于2015-09-04
得票数 0
回答已采纳
1
回答
获取进行(非法)
内存
访问
的函数名
c
、
memory
、
signals
出于调试的原因,我试图打印导致非法
内存
访问
的函数的名称(例如超出范围)。我已经编写了一个SIGSEGV
信号
处理程序来打印指令指针( IP )和错误的
内存
地址,但是我无法创建这样一个方法,使我能够获得函数名,而不是IP。是否有一种方法可以修改
信号
处理程序的签名以传递__ 函数 __变量作为参数,还是有其他方法可以这样做? 注意事项:程序是用C编写的,我试图在
Linux
环境中这样做。
浏览 5
提问于2016-02-22
得票数 3
回答已采纳
3
回答
无
信号
量的共享
内存
访问
linux
、
deadlock
、
shared
、
segment
在
linux
中使用共享
内存
apis时,如果我有一次写入(通过A进程)和只有一次读取(通过B进程),我是否仍然需要
信号
量。有没有一个例子可以说明,在
linux
中使用没有
信号
量的共享
内存
会进入死锁状态。
浏览 33
提问于2009-10-05
得票数 2
2
回答
分段故障是如何在内部(内核/硬件)工作的?
c
、
memory-management
、
linux-kernel
、
hardware
从广义上讲,我想知道内核(或CPU)如何知道进程试图
访问
它没有权限的
内存
位置,以及名为MMU的神秘硬件如何帮助实现这一点。特别是:在我看来,MMU对于操作系统内核的
内存
管理模型(分页、
内存
区、进程地址空间……)是不可知的。(例如,我假设
Linux
和Windows页面并不完全相同。如果我错了,请纠正我)。但是,我的CPU如何发现当前代码是否可以
访问
location x?它是如何向内核发出
信号
的呢?
浏览 1
提问于2012-12-18
得票数 15
回答已采纳
2
回答
关于C
Linux
中命名
信号
量的质疑
c
、
linux
、
semaphore
我在
Linux
的C中使用named semaphore来控制跨多个进程的共享
内存
的
访问
。到目前为止,我还没有向sem_close和sem_unlink
信号
量添加任何代码。所以我的问题是:如果是,那么完全不调用sem_close和sem_unlink是可以的吗?
浏览 0
提问于2013-06-12
得票数 3
回答已采纳
2
回答
在
Linux
/GCC下将空指针
访问
转换为C++异常
c++
、
linux
、
exception
、
gcc
、
stack-unwinding
在
Linux
下,是否有任何方法将空指针
访问
转换为C++异常?类似于Java中的NullPointerException。--行为,只是想知道如何在x86_64
Linux
/GCC下完成它。我在这方面做了一些非常原始的研究,可能是这样的: 当在
Linux
下
访问
空指针时,将生成一个SIGSEGV。在SIGSEGV处理程序中,程序的
内存
和注册信息将可用(如果sigaction()用于注册
信号
处理程序)。如果程序被拆卸,导致SIGSEGV的指令也是可用的。此外,它
浏览 4
提问于2016-06-07
得票数 5
2
回答
一个命名的
信号
量存储在哪里?
linux
、
semaphore
命名
信号
量(使用semaphore.h)由形式/somename中的名称标识;也就是说,以null结尾的字符串最多为NAME_MAX-4 (即251个),该字符串由一个初始斜杠组成,后面跟着一个或多个字符这个
信号
量在哪里?ipcs是系统V semaphores.How定位POSIX
信号
量的地方?
浏览 0
提问于2016-04-11
得票数 4
2
回答
c/c++加入进程?
c
、
process
我是线程和进程的新手。
浏览 2
提问于2011-11-27
得票数 1
回答已采纳
1
回答
未命名
信号
量(通过sem_init)是纯用户空间吗?
linux
、
semaphore
在
Linux
(2.6.27)上,当我调用sem_init()在共享
内存
中初始化一个未命名的
信号
量时,这个
信号
量是纯用户空间,还是由
Linux
内核控制?如果持有这个
信号
量的进程死了,
信号
量会自动释放吗?
浏览 4
提问于2013-07-02
得票数 0
回答已采纳
3
回答
用C/C++命名进程内部互斥锁?
c++
、
c
、
multithreading
、
pthreads
、
mutex
是否有使用C/C++ (在Unix/
Linux
中)实现命名进程内部互斥锁的方法?如果您使用
内存
映射文件或共享
内存
,您将获得文件系统持久性... 有什么想法吗?
浏览 0
提问于2011-09-24
得票数 0
1
回答
异步和同步在通知系统事件的进程和响应
信号
传递的过程中意味着什么?
linux
、
signals
、
ipc
在理解
Linux
内核时: Unix
信号
提供了一种通知系统事件进程的机制。每个事件都有自己的
信号
号,通常由符号常量(如SIGTERM )来引用。有两种系统事件:例如异步通知,用户可以通过在终端上按下中断密钥代码(通常是Ctrl)将中断
信号
SIGINT发送到前台进程。例如,当内核
访问
位于无效地址的
内存
位置时,内核向进程发送
信号
SIGSEGV。一般来说,一个过程可能以两种可能的方式对
信号
传递作出反应:·忽略
信号
。异步执行指定的过程(
浏览 0
提问于2017-08-18
得票数 2
2
回答
如何使用没有线和叉子的
信号
量?
c
、
multithreading
、
semaphore
、
shared-memory
我目前正在研究一个学校项目(C语言),它的目标是使进程能够一个一个地写入共享
内存
。我不能用多线程也不能用叉子。我只能让有一个可执行的,它必须运行多少次。但是,我只是找不到任何文档能够清楚地解释是如何工作的,而不需要执行线程、分叉、等等。 有人能帮我吗?
浏览 7
提问于2021-05-31
得票数 1
1
回答
在Solaris/
Linux
上将ANSI代码移植到Windows 2012
c
、
windows
、
unix
、
post
所需的是将运行在Solaris/
Linux
上的遗留C代码(约150万LOC)移植到Windows 2012。(目前在Cygwin上工作,但性能远远低于
Linux
) 这样一个港口的复杂性和最
浏览 2
提问于2014-07-21
得票数 0
3
回答
设置要创建多少个
信号
量?
c
、
semaphore
、
shared-memory
我知道
信号
量是用来同步
访问
共享
内存
的进程的。假设我只有一个共享
内存
段,两个进程将
访问
它。然后,只创建一个
信号
量。但是,如果我有三个或更多的进程
访问
相同的共享
内存
,那么它是否需要更多的
信号
量集呢?提前谢谢。
浏览 2
提问于2014-01-31
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
图解|Linux内存碎片整理
Linux远程访问及控制
Linux内存映射mmap原理分析
如何在 Linux 系统中访问 UEFI 设置|Linux 中国
Linux系统编程 信号量
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券