![umask函数是核函数吗?](https://linux22.com/image/142486/umask%E5%87%BD%E6%95%B0%E6%98%AF%E6%A0%B8%E5%87%BD%E6%95%B0%E5%90%97%EF%BC%9F.png)
我假设该umask()
函数是:
包含通常称为变量的 shell 函数文件创建掩码
但我错了,因为umask()
不是 shell 函数并且不包含这样的变量。
如果该umask()
函数不是“shell 函数”,是否可以将其命名为“内核函数”?
答案1
umask 的手册说:
通过 fork(2) 创建的子进程继承其父进程的 umask。 execve(2) 保持 umask 不变。
因此,因为它在调用 exec (execve) 后仍然存在,所以它必须在内核中实现,因为所有 exec 调用都会替换正在运行的程序(除了存储在内核中的某些结构之外)。