社区
Linux_Kernel
帖子详情
一个关于进程和线程的问题
tgvlcw
2012-03-10 01:17:12
有一个进程,其中创建了3个线程,然后该进程用exec函数运行了其它进程,那么原进程中的线程的资源系统会回收吗?比如说:打开的文件 描述符,内存等?
...全文
163
6
打赏
收藏
一个关于进程和线程的问题
有一个进程,其中创建了3个线程,然后该进程用exec函数运行了其它进程,那么原进程中的线程的资源系统会回收吗?比如说:打开的文件 描述符,内存等?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
justkk
2012-03-11
打赏
举报
回复
exec之后,感觉原进程通过malloc()申请的内存会释放,在新进程中不再可用
tgvlcw
2012-03-11
打赏
举报
回复
fcntl(enable_fp, F_SETFD, FD_CLOEXEC);
使用这个函数就可以实现了。
还有几个问题:
1,在A进程中创建了3个线程,这是A进程使用exec去执行其它程序之后,那么A进程中的3个线程是怎么处理的呢?
2,在A进程中的线程a中打开了一个文件,并且使用F_DUPFD_CLOEXEC设置文件描述符,然后进程A用exec去执行其它进程之后,怎么在其它进程中使用这个描述符呢?
nossiac
2012-03-10
打赏
举报
回复
程中的线程的资源系统会回收吗?比如说:打开的文件 描述符,内存等?
不会。
新进程在fork的时候复制了原进程环境,并且是copy on write的。
到你exec时,新进程会执行另一个程序,与原进程分道扬镳了。
quwei197874
2012-03-10
打赏
举报
回复
不会的
jsy5211
2012-03-10
打赏
举报
回复
当进程调用exec函数执行一个程序时,该进程执行的程序完全替换为新程序,而新程序则从其main函数开始执行。因为调用exec并不创建新进程,所以前后的进程id并未改变。exec只是用全新的程序替换了当前进程的正文、数据、堆和栈。对于文件描述符都有个执行时关闭标记,如果打开文件时设置过,则执行exec时,该文件会自动关闭,否则此描述符还继续打开,除非通过fcntl设置该标记,否则系统默认是在执行exec后仍保持打开。具体可参考unix环境高级编程
进程
和
线程
关系及区别
1.定义
进程
是具有一定独立功能的程序关于某个数据集合上的一次运行活动,
进程
是系统进行资源分配和调度的
一个
独立单位.
线程
是
进程
的
一个
实体,是CPU调度和分派的基本单位,它是比
进程
更小的能独立运行的基本单位.
线程
自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属
一个
进程
的其他的
线程
共享
进程
所拥有的全部资源. 2.关系
线程
和
进程
有什么区别(简单介绍)
线程
和
进程
有什么区别(简单介绍) 简单介绍 一、
线程
的基本概念
线程
是
进程
中执行运算的最小单位,是
进程
中的
一个
实体,是被系统独立调度和分派的基本单位,
线程
自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属
一个
进程
的其它
线程
共享
进程
所拥有的全部资源。
一个
线程
可以创建和撤消另
一个
线程
,同一
进程
中的多个
线程
之间可以并发执行。 ...
java的
进程
和
线程
_java
进程
和
线程
区别与不同
java
进程
和
线程
区别与不同。一、定义1.
进程
是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的
一个
独立单位。2.
线程
是
进程
的
一个
实体,是CPU调度和分派的基本单位,他是比
进程
更小的能独立运行的基本单位,
线程
自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),
一个
线程
可以创建和撤销另
一个
线程
;
进程
和
线程
的关系:(1)
一个
线程
...
进程
和
线程
的区别
进程
和
线程
进程
和
线程
的区别
进程
是
一个
程序在其自身的地址空间中的一次执行活动,是资源申请、调度和独立运行的单位。
线程
是
进程
的
一个
单一的连续控制流程,
一个
进程
可以拥有多个
线程
。
线程
调度的两种方式:抢占式、非抢占式。
进程
和
线程
的区别在于,
线程
没有独立的存储空间,而是和所属
进程
中的其他
线程
共享
一个
存储空间。
线程
有4个状态:新建、就绪、运行、阻塞/睡眠/等待、死亡。
线程
间的通信一般用wait()方.........
关于
进程
和
线程
以及句柄
关于
进程
和
线程
以及句柄
Linux_Kernel
4,465
社区成员
17,462
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章