0
我最近了解到unix中的exec()系统调用。考虑执行exec()的进程,并且“已转换的进程”再次执行exec()等。突然间,当前正在执行的任务失败,因此必须恢复前一个proc的上下文。exec系统调用中的级联失败
我的问题是,如果故障继续以层叠的方式发生,那么“原始”上下文仍然可用。换句话说,unix需要花费多少内存才能继续并保存上下文。
我最近了解到unix中的exec()系统调用。考虑执行exec()的进程,并且“已转换的进程”再次执行exec()等。突然间,当前正在执行的任务失败,因此必须恢复前一个proc的上下文。exec系统调用中的级联失败
我的问题是,如果故障继续以层叠的方式发生,那么“原始”上下文仍然可用。换句话说,unix需要花费多少内存才能继续并保存上下文。
exec()系列是取代系统调用 - 它们完全取代了原来的新进程,因此没有退路。为了保持原始上下文使用system()调用(这是fork()和exec()的包装)
有人告诉我,如果替换的上下文失败,那么上一个上下文将被恢复。这不正确吗? – ishan3243
不“恢复” - 它只是停留。您继续执行由exec返回的负面rcode。 –