Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。
4年前关闭。
Improve this question
众所周知,exec系列函数调用最终将调用
我想知道在执行
想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。
4年前关闭。
Improve this question
众所周知,exec系列函数调用最终将调用
execve()
(这是系统调用),其余的是库函数。因此,通常,适用于execve()
的任何含义对于其他exec*()
函数也适用。我想知道在执行
execve()
期间是否阻塞了所有信号,直到成功为止,或者是否有办法将信号传递给与exec相对应的pid
? (我知道它不会成功返回,并且不会执行调用函数) 最佳答案
我不确定您的问题是对的,如果我错了,请随时纠正我。
但是,基本上,是的,从过程的 Angular 来看,系统调用可以被视为“原子的”。因此,一旦启动execve()
系统调用,只有内核才能使用它,直到运行新命令或出现错误代码失败或引发SIGKILL
信号时,它才会释放进程(因为SIGKILL
是唯一不可阻塞的信号) )。
但是,一旦execve()
产生了一个新进程(并从内核返回),它就可以被任何信号完全中断。
关于c - C中的exec系列功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37397713/
10-10 14:33