改变工作目录和根目录
改变工作目录和根目录
进程有工作目录和根目录。
工作目录:进程在哪个路径下被运行起来哪个路径就是进程的工作目录(Current Woring Directory, CWD)
根目录:就是"/"
工作目录和根目录可以通过/proc/PID/cwd
和/proc/PID/root
进行查看
工作目录和根目录都可以进行更改,获取进程当前工作目录和改变进程工作目录的函数分别是:
#include <unistd.h>char *getcwd(char *buf, size_t size);
int chdir(const char *path);
buf
参数指向的内存用于存储进程当前工作目录的绝对路径名,其大小由size
参数指定。
如果当前工作目录的绝对路径的长度(再加上一个空结束字符“\0”)超过了size
,则getcwd
将返回NULL
,并设置errno
为ERANGE
。
如果buf
为NULL
并且size
非0,则getcwd
可能在内部使用malloc
动态分配内存,并将进程的当前工作目录存储在其中。如果是这种情况,则我们必须自己来释放getcwd
在内部创建的这块内存。
getcwd
函数成功时返回一个指向目标存储区(buf
指向的缓存区或是getcwd
在内部动态创建的缓存区)的指针,失败则返回NULL
并设置errno
。
chdir
函数的path
参数指定要切换到的目标目录。它成功时返回0,失败时返回-1并设置errno
。
改变进程根目录可以使用chroot
:
#include <unistd.h>int chroot(const char *path);
path
参数指定要切换到的目标根目录。它成功时返回0,失败时返回-1并设置errno
。
chroot
并不改变进程的当前工作目录。
改变进程的根目录之后,程序可能无法访问类似/dev
的文件(和目录),因为这些文件(和目录〉并非处于新的根目录之下。不过好在调用chroot
之后,进程原先打开的文件描述符依然生效,所以我们可以利用这些早先打开的文件描述符来访问调用chroot
之后不能直接访问的文件(和目录),尤其是一些日志文件。此外,只有特权进程才能改变根目录。
改变工作目录和根目录相关推荐
- linux改变工作目录命令,使用linux cd命令来改变所在目录
只要你知道所在位置,以及它与你想转换到的位置间的关系,改变所在目录使用linux cd命令是很容易的. 要改变所在目录,使用使用linux cd命令.只使用这个命令本身总是会把你返回到你的主目录:要转 ...
- 服务器Apache配置以及改变工作目录
Apache安装成功 Apache的配置主要集中在httpd.conf文件,它位于你的安装目录,比如:我安装在 用编辑器打开httpd.conf文件,先来查找到如下这一行:#ServerName 我们 ...
- linux改变工作目录命令,linux命令:cd命令,改变当前的工作目录
原标题 : 每天一个linux命令(2):cd命令 Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命 ...
- pythondocx更新目录_python根目录
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 目前支持的 python 开发语言包括如下版本:python 2.7python ...
- python查看工作目录_闲话python-36:文件系统操作
我们编写的python程序既可能在Windows下运行,也有可能在Linux和Mac OS下运行,一般的操作对于跨平台而言问题都不大,而文件系统的相关操作在不同的平台上是具有较大差异的.我们当然可以使 ...
- php getcwd文件件,PHP目录函数 getcwd (取得当前工作目录)
在PHP中,目录函数 getcwd() 用于取得当前工作目录. 函数语法:string getcwd ( ) getcwd() 函数用于取得当前工作目录,成功则返回当前工作目录,失败返回 false. ...
- Python os.chdir() 方法用于改变当前工作目录到指定的路径。
Python os.chdir() 方法 正在上传-重新上传取消 Python OS 文件/目录方法 概述 os.chdir() 方法用于改变当前工作目录到指定的路径. 语法 chdir()方法语法 ...
- linux --chdir() 改变当前工作目录函数
linux --目录chdir函数 int chdir(const char *path ); 说明:chdir函数用于改变当前工作目录.调用参数是指向目录的指针,调用进程需要有搜索整个目录的权限.每 ...
- Python中的os.chdir()函数:改变当前工作目录
Python中的os.chdir()函数:改变当前工作目录 Python的os模块提供了一系列处理操作系统相关功能的接口.在其中,os.chdir()函数被广泛应用于Python程序中,用于改变当前的 ...
最新文章
- ScrollView以及TextView和对应链接
- 02.Android之IPC机制问题
- 程序员修神之路--高并发下为什么更喜欢进程内缓存
- 获取两个数的最大值,判断是否相等;
- easyui 添加下拉框数据_功能更新:熟用仪表盘这个功能,你可以少建90%的数据报表...
- 为zsh和VIM配置一个状态提示栏
- Java中Properties类的学习总结
- 解决:能提交和更新,但SVN查看log时提示找不到路径'svn/XXXX'
- 跳一跳python源码下载_微信跳一跳辅助_微信跳一跳作弊外挂下载【脚本】-华军软件园...
- Rect类基本函数使用
- php paypal ipn,PHP 开发详解:PayPal Instant Payment Notification (IPN)
- App发送短信验证码实现
- 阿里云建站备案必要性
- 2019-6-2 第2套试卷中的生词(02)
- python去除含st的股票
- mencoder的配置文件
- 你的磁力链为什么下不动了?(干货)
- 浅谈企业网络安全边界
- 洛谷P3667 [USACO17OPEN]Bovine Genomics G 动态规划
- 保留应用和数据的重装win10
热门文章
- Java实现 判断字符是不是韵母
- 新建的Maven项目里面没有.iml文件怎么办
- Axure制作水波球
- 20230228英语学习
- 圣诞节音乐计算机铃儿响叮当,圣诞节歌曲铃儿响叮当歌词
- deepdive中文关系提取
- prime_series_level-1
- windows bat文件实现定时关机和定时重启
- ipad safari php readfile mp4,MP4 plays when accessed directly, but not when read through PHP, on iOS
- 全新MyZip for Mac(超快速解压/压缩工具)