目录 -- 1




每个进程都有一个当前工作目录,此目录是搜索所有相对路径名的起点,当前工作目录是进程的一个属性,那么,怎么改变当前工作目录呢? e.g.#include <stdio.h> int main () { system ("cd .."); fopen ("t", "w"); return 0; } 该程序执行后,t文件被创建在了可执行文件所在目录,可以知道,这种方法是不可行的,无法实现进程工作目录的改变,而且shell的当前工作目录也没有改变 进程可以调用chdir、fchdir两个函数更改当前工作目录int chdir (const char *path); int fchdir (int filedes); 定义于unistd.h头文件中,调用成功返回0,调用失败返回-1分别用pathname或文件描述符来指定新的当前进程工作目录,但不会改变shell的当前工作目录 内核保持有当前工作目录的信息,但是内核为每个进程只保存指向该目录v节点的指针等目录本身的信息,而不保存该目录的完整路径名,因此我们需要使用getcwd函数获取其绝对路径名char *getcwd(char *buf, size_t size); 定义于unistd
#读书笔记    #技术帖    #linux    #unix   



京ICP备15018585号