首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pwd和task_struct结构中的根有什么不同?

pwd和task_struct结构中的根有什么不同?
EN

Stack Overflow用户
提问于 2013-05-16 21:01:59
回答 3查看 487关注 0票数 0

Linux-0.12中的Schedul.h:

代码语言:javascript
复制
struct task_struct {
/* these are hardcoded - don't touch */
        long state;     /* -1 unrunnable, 0 runnable, >0 stopped */
        long counter;
        long priority;
        long signal;
        struct sigaction sigaction[32];
        long blocked;   /* bitmap of masked signals */
/* various fields */
        int exit_code;
        unsigned long start_code,end_code,end_data,brk,start_stack;
        long pid,pgrp,session,leader;
        int     groups[NGROUPS];
        /* 
         * pointers to parent process, youngest child, younger sibling,
         * older sibling, respectively.  (p->father can be replaced with 
         * p->p_pptr->pid)
         */
        struct task_struct      *p_pptr, *p_cptr, *p_ysptr, *p_osptr;
        unsigned short uid,euid,suid;
        unsigned short gid,egid,sgid;
        unsigned long timeout,alarm;
        long utime,stime,cutime,cstime,start_time;
        struct rlimit rlim[RLIM_NLIMITS];
        unsigned int flags;     /* per process flags, defined below */
        unsigned short used_math;
/* file system info */
        int tty;                /* -1 if no tty, so it must be signed */
        unsigned short umask;
        struct m_inode * pwd;
        struct m_inode * root;
        struct m_inode * executable;
        struct m_inode * library;
        unsigned long close_on_exec;
        struct file * filp[NR_OPEN];
/* ldt for this task 0 - zero 1 - cs 2 - ds&ss */
        struct desc_struct ldt[3];
/* tss for this task */
        struct tss_struct tss;
};

struct m_inode * rootstruct m_inode * pwd有什么不同?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2013-05-16 21:46:05

pwd是一个dentry结构。dentry将文件名映射到inode编号。pwd就是您当前所在的目录。根目录是根目录dentry,所以我假设它是根目录/。

http://www.makelinux.net/books/lkd2/ch12lev1sec10

票数 1
EN

Stack Overflow用户

发布于 2013-05-16 21:52:50

这类结构中的pwd表示当前工作目录,通常与Linux中的pwd命令不同。

如果您需要一个示例,可以使用ps获取终端中正在运行的进程的pid XXX,以及cd /proc/XXX/,其中有该进程的root和cwd(当前工作目录)。

票数 1
EN

Stack Overflow用户

发布于 2013-05-17 00:50:31

cwd是您可以使用chdir()更改的当前工作目录。root是可以使用chroot()更改的根目录(请查看chroot jail)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16588207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档