当一个线程 execve() 一个文件时会发生啥?
Posted
技术标签:
【中文标题】当一个线程 execve() 一个文件时会发生啥?【英文标题】:What happens when a thread execve() a file?当一个线程 execve() 一个文件时会发生什么? 【发布时间】:2022-01-06 11:35:23 【问题描述】:这是否会清除所有线程地址空间,因为 exeve() 删除所有内容并且地址空间在线程之间共享,导致 execve 文件的许多副本与 execve 调用时存在的任何寄存器值同时运行(在特别是每个程序计数器都会不同)?
【问题讨论】:
【参考方案1】:这在the man page中有解释:
除了调用线程之外的所有线程都被销毁 一个执行()。互斥体、条件变量和其他 pthread 不保留对象。
新程序仅从一个线程开始。替代方案将是行不通的。
【讨论】:
以上是关于当一个线程 execve() 一个文件时会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章