腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
当进程退出时,
linux
如何
清理
线程--如果它们实际上只是隐藏的进程?
linux
、
linux-kernel
我的理解是,线程和进程在
Linux
上实际上是同一个实体,区别在于它们之间
共享
的
内存
。我发现,如果没有父进程和子进程之间的明确通信,就很难确保正确地
清理
子进程。我希望能够以与线程类似的心智模型运行子进程,因为当父进程退出时,它们会自动
清理
,但具有进程提供的
内存
安全。
Linux
是如何自动
清理
线程的,同样的机制可以用于子进程吗?
浏览 2
提问于2016-03-16
得票数 2
回答已采纳
2
回答
OS
共享
内存
清理
macos
、
memory
、
memory-leaks
、
shared
我通过在OS中使用shm_open/mmap分配
共享
内存
段,在父进程和多个子进程之间
共享
内存
。我的理解是,父级必须在每个段上调用shm_unlink,否则
共享
内存
就会永久泄漏。在阅读文档时,我最初的想法是,当没有一个具有映射的进程存在时,
共享
段就会被
清理
。然而,实验表明情况并非如此,必须有人显式地使用shm_unlink。在OS中有任何方法来列出当前所有现有的
共享
内存
段吗?,问题是父程序可能崩溃,因此没有机
浏览 1
提问于2013-09-17
得票数 5
回答已采纳
1
回答
Eclipse启动器依赖于未连接的
共享
内存
段进行重启
eclipse
、
eclipse-rcp
、
shared-memory
、
equinox
在研究为什么eclipse (在
Linux
上运行)有时会退出,而不是像预期的那样重新启动时,我发现系统上运行的一个遗留应用程序导致了这个问题。当应用程序
清理
时,它会删除属于当前用户的任何
共享
内存
段,对于这些
共享
内存
段,nattach为0。通过在eclipse启动器上运行strace,并在尝试重启期间看到一个带有无效
共享
内存
地址的方法调用,我发现这就是问题的原因。我们将修复遗留应用程序,以便更好地决定删除哪些
共享
内存
段
浏览 1
提问于2016-04-28
得票数 1
1
回答
shm_open -如何知道我是否打开了现有的
共享
内存
linux
、
memory
、
memory-management
、
shared-memory
、
mmap
我有两个问题: 在使用shm_open时,如何知道我是否打开了一个已经存在的
共享
内存
,我使用的是O_CREATE \ O_RDWR。我使用shm_open创建/打开一个具有某些名称和mmap的
共享
内存
对象,以便将它映射到进程的虚拟地址空间。如果进程崩溃并未能
清理
共享
内存
,则该进程将一直保留到系统关闭为止。尽管这与上提到的内容相矛盾,后者称,“shm_open创建的
共享
内存
是持久的。它在系统中一直存在,直到进程显式删除为止
浏览 11
提问于2014-10-29
得票数 3
3
回答
如何关闭Qt子进程并让子进程执行
清理
代码?
linux
、
qt
、
process
、
ipc
、
child-process
我将在
Linux
/Qt中启动一个进程,然后使用QProcess启动一些子进程。最后,我想优雅地关闭子进程(也就是执行一些
清理
代码)。子进程正在使用,现在当我调用QProcess::close()时,子进程正在关闭,而不调用QSharedMemory::,结果是所有进程都关闭了.但仍有未
清理
的
共享
内存
。
浏览 17
提问于2011-09-21
得票数 2
回答已采纳
1
回答
结束mac +
清理
过程中的终端应用程序
c
、
posix
、
shared-memory
我们在两个应用程序之间使用pthread和POSIX
共享
内存
。如果我使用命令行(CTL+C)退出其中一个程序,那么我想运行一个
清理
方法来
清理
所有分配的
内存
,并删除POSIX
共享
内存
映射。destroy_shared_object(shm, MEM_MAP_SIZE); return 0;现在这就是我所拥有的,但是当我退出程序时,我不认为它会删除
共享
内存
映射并
浏览 6
提问于2021-10-31
得票数 0
1
回答
shmat()等是如何在
Linux
内核中实现的。还有其他分享记忆的方法吗?
c
、
linux
、
mmap
、
sysv-ipc
使用mmap(),进程必须继承父进程的映射才能
共享
内存
。在没有
共享
父进程的进程之间是否有
共享
内存
的方法?shmat()似乎是最好的解决方案,但如果进程在退出/死亡时没有分离
内存
,则需要
清理
。域套接字接近
共享
内存
..。
浏览 3
提问于2017-03-01
得票数 1
回答已采纳
1
回答
如果未能删除
共享
内存
段,会发生什么?
c
、
linux
、
multiprocessing
、
shared-memory
根据我的观察,如果我终止进程而不删除
共享
内存
段,那么
共享
内存
段就会停留在/dev/shm/xxxx中,甚至没有其他进程正在使用它。是否意味着
内存
泄漏?(在我重新启动机器之后,它就会消失)为什么
linux
不提供一种机制来维护
共享
内存
上的引用计数,然后当没有进程使用它时,系统就可以删除它。由于进程可能崩溃,或者我只是未能捕捉到一些exceptions....anyway,所以在进程异常终止时,很有可能无法删除
共享</e
浏览 3
提问于2019-07-24
得票数 3
回答已采纳
2
回答
APC中的1个大段与许多较小的段之间有什么区别?
apc
1
共享
内存
段@256 Memory 多个段会使APC更容易
清理
陈旧的条目吗?
浏览 7
提问于2013-01-31
得票数 2
回答已采纳
1
回答
在
Linux
中如何以及何时删除
共享
内存
备份文件?
linux
、
posix
、
shared-memory
我结合使用shm_open()和mmap()来为IPC创建一个
共享
内存
段。我想知道的是备份文件(在我的系统中是/dev/shm,
Linux
kernel 2.6.31)是如何
清理
的。3)在最后一个进程取消
内存
映射后,有没有办法要求内核删除备份文件?我在想一些类似于shmctl(id, IPC_RMID, ...)的SysV风格的
共享
内存
。
浏览 6
提问于2011-09-25
得票数 2
回答已采纳
2
回答
为什么
Linux
不自动
清理
磁盘缓存和交换?
linux
、
memory
、
swap
、
disk
、
caching
例如,当我存档几组文件(使用tar)时,
Linux
使用相当多的磁盘缓存(和一些交换),但在操作完成后就不会
清理
它。因此,由于没有空闲
内存
,
Linux
将尝试从
内存
中交换一些东西,从而在CPU上产生额外的负载。更糟糕的是,交换没有
清理
未使用的交换的命令,我必须完全禁用/启用它,我认为这样做是不安全的。UPD:在归档命令中交换出的
内存
页与归档文件无关,根据swappiness,这似乎只是由于空闲
内存
减少(因为磁盘
浏览 0
提问于2018-06-22
得票数 4
回答已采纳
1
回答
如何使用c++ boost::进程间库通过命名
共享
内存
与Python通信?
c++
、
python-3.x
、
boost
、
shared-memory
、
boost-interprocess
目的:让c++进程在这台计算机上与python进程通信,并打算使用
共享
内存
进行通信。C++使用boost::interprocess库通过shared_memory_object创建一个命名的
共享
内存
,并将数据写入其中,而python则读取相应的数据。问题: python如何根据c++中相应
共享
内存
的名称访问数据?
浏览 61
提问于2022-03-13
得票数 2
1
回答
在windows上
共享
Linux
中的
内存
性能(同步开销:信号量)
c
、
linux
、
performance
、
semaphore
、
shared-memory
这篇文章是关于在windows环境下计算
Linux
中
共享
内存
的性能。CreateFileMappingMapViewOfFile 函数&对于
共享
内存
同步,我在客户机和服务器中使用命名事件(Createevent),以便在
共享
内存
块中执行一次读或写操作另外,我在结构中使用循环缓冲区作为
共享
内存
块,因此它将成为大小为4096的512<
浏览 11
提问于2012-05-28
得票数 1
1
回答
析构函数调用行
c++
、
gcc
我想找一个文件和一行(gcc __FILE__,__LINE__定义的)析构函数被调用的地方。在构造函数的情况下,我设法处理了这个问题,并将参数传递给了包装器类。
浏览 2
提问于2015-11-26
得票数 0
2
回答
Linux
共享
内存
linux
、
ipc
、
unix
、
shared-memory
在*inux编程中创建
共享
内存
的函数将关键字作为其参数之一。编辑: 非
共享
内存
id
浏览 2
提问于2010-05-11
得票数 3
回答已采纳
1
回答
共享
内存
linux
c
、
linux
、
shared-memory
我第一次尝试使用
共享
内存
。我创建了一个子进程,然后从父进程写入
共享
内存
,并从Child中更改它。在程序结束之前,我从父进程打印
共享
内存
,
共享
内存
没有改变,下面是我的代码:#include <stdlib.h>#includeid, IPC_RMID, NULL); sem_un
浏览 7
提问于2015-04-11
得票数 0
回答已采纳
1
回答
old_root在pivot_root中的概念是什么?
linux
、
ubuntu
、
mount
、
namespace
来自man 2 pivot_root当我读到这篇文章时,我对此产生了怀疑为什么当前的文件系统应该移动到_put_old_目录?正式文档清楚地解释了如果我们想要使用pivot_root syscall
浏览 0
提问于2019-12-12
得票数 1
1
回答
这个“
共享
内存
”IPC对象被删除了吗?
linux
、
ipc
、
shared-memory
我有一些没有被进程
清理
的
共享
记忆。调用ipcs -m时可以看到
共享
内存
key shmid owner perms0x51012a29 294919 trevor 666 194400 2 当我调用ipcrm -m 294919,然后检查是否删除
共享
内存
时nattch status
浏览 6
提问于2011-09-16
得票数 2
回答已采纳
1
回答
如何在特定时间打印
内存
中的所有
共享
对象?
c
、
linux
、
dll
、
shared-libraries
在
Linux
系统中,在特定的时间有许多进程在运行,并且每个进程都依赖于一些动态库(
共享
对象)。这可以通过ldd命令找到。当进程运行时,
共享
对象必须在
内存
中。同样,在
Linux
系统中,会有许多
共享
对象加载到不同运行进程的
内存
中。 有没有办法列出所有这些
共享
对象?它能用C编程语言写吗?列出当前加载到
内存
中的所有
共享
对象是否可行?
浏览 2
提问于2014-09-11
得票数 1
3
回答
Windows
共享
内存
段
c
、
windows
、
shared-memory
我在谷歌上搜索了一下,还没能找到一个明确的答案,所以我希望有人能对windows和
linux
的
共享
内存
段有一些了解。在
Linux
中,有两种为IPC创建
共享
内存
的方法:
共享
内存
段(shmget等人)和
内存
映射文件(mmap)。根据我的简要理解,mmap要求您在操作系统中的某个地方有一个实际的文件来映射,而
共享
内存
段只是
内存
中可以由进程附加的基于名称的段。在Windows中,似乎只有<
浏览 7
提问于2013-05-25
得票数 7
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券