腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在编写
进程
同步算法(如克隆/派生、信号量)时从哪里开始
c++
、
process
、
synchronization
我正在写一个模拟
进程
同步的程序。我正在尝试在C++中实现分支和信号量技术,但在开始时遇到了麻烦。我是不是应该创建一个
进程
,然后从头开始就把它发送给
fork
?程序只会是一个在父
进程
/子
进程
之间来回循环的无限循环吗?如何在C++中创建“
共享
内存”的概念,显式内存地址还是某个全局变量?我只需要了解程序流程的总体结构/想法。任何参考将不胜感激。
浏览 0
提问于2010-03-31
得票数 0
2
回答
内核中的哪个文件指定
fork
(),vfork().使用sys_clone()系统调用
linux
、
linux-kernel
、
system-calls
、
trace
、
ltrace
当ltrace用于跟踪系统调用时,我可以看到叉()使用的是sys_clone()而不是sys_
fork
()。但是我找不到定义它的
linux
源代码。我的计划是:{ pid=
fork
();SYS_open(&q
浏览 0
提问于2013-08-21
得票数 10
回答已采纳
1
回答
写的副本是如何在分叉执行中工作的?
c
、
linux
、
fork
、
exec
、
copy-on-write
进程
fork
是子
进程
,并在子
进程
中调用exec()。在
fork
之后,父
进程
和子
进程
共享
内存.当子
进程
调用exec()来加载另一个
进程
时,
Linux
是否会将父内存复制到新内存,子
进程
也会加载另一个
进程
到这个新内存?
浏览 0
提问于2015-08-08
得票数 0
3
回答
Linux
上的实时Java线程和操作系统级线程
java
、
real-time-java
、
linuxthreads
另外,对于在操作系统级别创建的每个
进程
,Java是否使用
fork
()或clone()?
浏览 22
提问于2011-05-09
得票数 4
1
回答
fork
产生的唯一开销是页表复制和
进程
id创建。
linux
、
process
、
operating-system
、
kernel
、
fork
fork
()产生的惟一开销是复制父
进程
的页表并为子
进程
创建唯一的
进程
描述符。在
Linux
中,
fork
()是通过使用写时复制页面实现的。写时复制( COW)是一种延迟或完全阻止数据复制的技术。只要
进程
以只读模式
共享
页面,或者直到它们写入某些内容,就不需要复制页表,因为父
进程
和子
进程
的转换是相同的。提前感谢
浏览 2
提问于2013-05-24
得票数 8
1
回答
Linux
API用于在多核
进程
中创建新
进程
linux
、
memory
、
process
、
posix
、
multicore
BackGround:利用Posix为
linux
环境下的多核系统开发基于OSEK的RTOS包装器最终目标是在
进程
上有不同的线程,其中每个
进程
不受其他
进程
的干扰。现在还有API mmap将
进程
的内存绑定到特定的区域。问题:,创建多个
进程</em
浏览 2
提问于2015-04-02
得票数 0
3
回答
克隆()系统调用最终是否依赖于叉功能?
linux
、
clone
、
fork
对于我正在学习的一个类,我一直在使用
Linux
中的clone()系统调用直接做一些工作。我对它的实际工作方式很好奇,于是开始做一些调查。让我困惑的是,它似乎依赖于与
fork
()功能相同的一些基础(它们调用相同的do_
fork
()函数,尽管参数不同)。一方面,这对我来说是有意义的,因为线程实际上只是一个轻量级的过程,但是我总是觉得线程的创建方式和创建
进程
的方式有一些显著的不同。我对do_
fork
()和随后的copy_process() ( do_
fork
()调用的)的实现做了一些深入研究,
浏览 7
提问于2010-11-11
得票数 2
回答已采纳
2
回答
使用
fork
()
共享
变量
c
、
process
、
fork
我有代码: a = a + 1;} else {非常感谢!
浏览 1
提问于2018-07-09
得票数 2
2
回答
将
fork
()替换为pthread_create()
c
、
multithreading
、
pthreads
、
fork
谁能告诉我如何用pthread_create代替
fork
()来替换这段简单的代码?这可能吗?特别是,我在传递给main()的struct *ex时遇到了一些问题。我该怎么改变它呢?= 0){ exit(-1);} if(pid==0){
浏览 1
提问于2012-02-01
得票数 1
2
回答
理解postgreSQL
共享
内存
sql
、
postgresql
我已经看过,仍然有一个关于
共享
缓冲区工作的问题。如幻灯片16所示,当服务器处理传入请求时,postmaster
进程
调用
fork
()来创建一个子请求,用于处理传入请求。现在,如果子
进程
更新一些属于
共享
内存的数据(如幻灯片17所示,放入
共享
缓冲区),则需要唤醒其他线程的更改。图片:同步过程是我所不理解的。任何
进程
都拥有
共享
内存的副本,并且在复制时它不知道另一个线程是否会向
共享
内存的副本写入。如果在通过调用proc1创建
浏览 3
提问于2015-10-04
得票数 11
回答已采纳
1
回答
有没有可能把一段
共享
内存变成私有内存?
c
、
memory
、
shared
假设我有一个c程序(在
linux
环境中),它使用
共享
内存向多个
进程
发送数据,或者从多个
进程
发送数据。假设稍后在程序中并行
进程
完成,而我只有一个
进程
。现在,我想派生另一个
进程
的
fork
(),但是这次我不希望
共享
那个内存段,我希望父
进程
和子
进程
都能够修改值而不会相互影响,就好像它是私有内存一样。有没有办法做到这一点;将
共享
内存转换为私有内存,但让它在虚拟内存中占用相同的空间,或者使<e
浏览 0
提问于2011-06-09
得票数 4
1
回答
复制不带
fork
的
进程
c
、
linux
、
process
、
fork
、
ps
在
linux
嵌入式系统中,我可以在ps 2
进程
中看到相同的二进制文件(pid1=X,pid2=Y),这些
进程
没有线程(/proc/X/task和/proc/Y/task不存在)。我查看了Ida中的二进制文件,即动态二进制文件,但在导入表中没有看到
fork
函数。当我用pid或pid的PTRACE更改一些影响另一个pid的指令时,它们似乎
共享
相同的代码区 如果Y是X的线程,我应该在/proc/X/task中看到它,而不是
浏览 4
提问于2020-05-07
得票数 0
3
回答
如何在相同
进程
的实例之间
共享
共享
库(.so)中的全局变量?
linux
、
shared-libraries
我有一个在执行应用程序之前预加载的
共享
库(.so),并且在应用程序使用的
共享
库中有一些全局数据结构。应用程序可以创建其他
进程
,比如使用
fork
(),这些
进程
可以更新
共享
库中的全局数据结构。我希望在所有
进程
中保持对这些全局数据结构的一致看法。在
Linux
中有什么方法可以做到这一点吗? 我曾尝试使用shm_*调用和mmap()将
共享
库的全局数据映射到
共享
段,但不起作用。
浏览 1
提问于2009-11-23
得票数 8
1
回答
GTK、子父节点、
共享
内存和
gtk
、
gtk2
我现在所拥有的是struct mystruct *user; // shared mempid =
fork
write_to_textview("parent", w); gtk_main();user是父
进程
、子
进程
和其他
进程
之间的
共享
结构这个结构包含我想要在父<em
浏览 3
提问于2012-05-06
得票数 1
2
回答
共享
库中的调用分叉
multithreading
、
shared-libraries
、
fork
在将从另一个主机
进程
调用的
共享
库中使用
fork
通常是安全的吗?
共享
库将分叉,以便并行执行一个过程(与线程不同,为分叉
进程
提供额外的内存空间保护),然后在退出该过程之前终止分叉
进程
。
浏览 6
提问于2016-11-29
得票数 1
回答已采纳
2
回答
为什么在分叉之后调用exec()的子
进程
不需要父
进程
地址空间的单独副本?
linux
、
linux-kernel
我正在阅读罗伯特·洛夫的"
Linux
内核开发,第二版“。(是的,有点过时)。我从第三章:
进程
管理( processes )了解到,在COW (复制即写)中,父
进程
和子
进程
共享
父
进程
的地址空间,直到其中一个
进程
写入地址空间。但是,它提到,如果子
进程
在exec()之后立即调用
fork
(),则父
进程
的地址空间和页面不需要作为单独的副本复制给子
进程
。那就是我迷路的地方。因此,如果子
进程</
浏览 5
提问于2016-06-08
得票数 0
回答已采纳
5
回答
C#中的非阻塞输入
c++
、
c
、
fork
pid_t pid;if(pid == 0 ) while(1) printf("%d\n",a); sleep(1);
浏览 5
提问于2013-02-26
得票数 2
回答已采纳
1
回答
避免在使用多
进程
时重新编译numba代码
python
、
multiprocessing
、
numba
我一直在使用numba进行多
进程
处理。 唯一的问题是- numba分别为每个
进程
重新编译代码。 (当
进程
的数量与物理CPU的数量相等时,这不是什么大问题,但如果不是这样的话,问题就大了!)有没有办法让numba只编译一次代码,然后跨
进程
边界
共享
编译后的工件?
浏览 76
提问于2020-09-14
得票数 2
回答已采纳
1
回答
独角兽:我需要断开before_
fork
块中的数据库吗?
ruby-on-rails
、
activerecord
、
unicorn
是一条注释,解释了为什么不需要(也不应该)在before_
fork
中断开DB和Redis的连接: 通过在before_
fork
中断开连接,您将在每次生成子
进程
时关闭父
进程
的连接,这是只需要一次的--您正在击败一只死马连接处理是子关注点(after_
fork
),而不是父级关注点(before_
fork
)。ActiveRecord的连接池现在由Process.pid键控,所以在after_
fork
中调用ActiveRecord::Base.establish_connec
浏览 2
提问于2015-04-28
得票数 0
1
回答
如何使系统日志中的PID用于
共享
标准输出文件描述符的过程?
linux
、
debian
、
systemd
、
fork
当
进程
fork
()s子
进程
不关闭并重新打开标准IO时,所有子
进程
共享
相同的IO文件描述符。 默认情况下,在systemd单元中运行这样的分叉
进程
将导致按照预期将任何标准输出写入日志。在systemd 241 (Debian,
Linux
4.19)上,这些日志条目有一个_PID字段,与PID字段(父
进程
进程
( systemd启动的
进程
)相匹配),无论哪个
进程
实际写入stdout (或stderr在sys
浏览 0
提问于2021-01-21
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux进程管理
Linux查杀stopped进程
Linux系统编程——特殊进程之僵尸进程
理解Linux的进程状态
Linux之shell 和进程
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券