我假设该umask()
函数是:
包含通常称为变量的 shell 函数文件创建掩码
但我错了,因为umask()
不是 shell 函数并且不包含这样的变量。
如果该umask()
函数不是“shell 函数”,是否可以将其命名为“内核函数”?
答案1
umask 的手册说:
通过 fork(2) 创建的子进程继承其父进程的 umask。 execve(2) 保持 umask 不变。
因此,因为它在调用 exec (execve) 后仍然存在,所以它必须在内核中实现,因为所有 exec 调用都会替换正在运行的程序(除了存储在内核中的某些结构之外)。