执行壳如何知道您的 cwd?



如果您 cd$HOME以外的某些目录并运行exec bash,则新的bash在上一个shell的工作目录中开始。

新的bash如何知道以前的工作目录是什么?

过程任务结构具有继承的当前工作目录。在Linux上,您可以看到这样的:

ls -l /proc/self/cwd

创建新的外壳时,它继承了父进程的当前工作目录。

它继承了其工作目录,就像每个过程都继承了父母的工作目录。

您认为pwd程序如何有效?它只是使用getcwd系统调用获得了自己的工作目录,它从其父母那里继承了。

工作目录是操作系统提供的属性,归因于它们是否想要的过程。

另一个过程(父母)产生的一个过程(儿童)接收产卵过程的工作目录,而无需任何干预。

除了将工作目录作为设计的一部分外,OS还可以将其用于诸如确定过程崩溃时核心转储的位置的事物。

相关内容

  • 没有找到相关文章

最新更新