作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
当 shell(例如 bash
)调用一个可执行文件时,它首先 fork
自身,然后复制 execve
可执行文件。
shell调用内置命令时,不会创建新进程,execve
只能对可执行文件进行操作,而内置命令不存储在可执行文件中。
那么内置命令是如何存储的,以及它们是如何在系统调用方面被调用的?
最佳答案
“内置命令”意味着您不必运行外部程序。所以,不,根本不涉及execve
,不,甚至不一定涉及任何系统调用。您的 shell 实际上只是解析一个命令字符串并看到“嘿,这是一个内置命令,让我们执行这个和那个函数”。
关于linux - 如何在 shell 中实现内置命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36649734/
我是一名优秀的程序员,十分优秀!