正如我们所知,exec系列函数调用最终会调用execve() ,这是一个系统调用,剩下的就是库函数。 所以,一般来说,不pipeexecve()是否适用于其他exec*()函数都是如此。
我想知道在执行execve() ,是否所有的信号都被阻塞,直到成功,或者是否有信号传递pid exec对应的pid ? (我知道它不会成功返回,调用函数的进一步执行不会发生)
创build一个应用程序钩子?
从C程序中确定TASK_SIZE
以编程方式获取Windows操作系统版本
我不知道我的问题是否正确,如果我错了,请随时纠正。
但是,基本上,从过程的角度来看,系统调用可以被认为是“原子”的。 因此,一旦启动了execve()系统调用,只有内核才会启动,直到运行新的命令或者出现错误代码失败或者SIGKILL信号失败(因为SIGKILL是唯一的不可阻挡的信号)。
但是,一旦execve()产生了一个新的进程(并从内核返回),它完全可以与任何信号中断。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。