摘要:
对比 设置进程/线程屏蔽信号:sigprocmask/pthread_sigmask 等待指定进程/线程结束:waitpid/pthread_join 向指定进程/线程发送信号:kill/pthread_kill 线程特有的等待指定的信号发生:sigwait gcc编译时需加参数:gcc test. 阅读全文
摘要:
非阻塞io 1.对比 阻塞io的例子:scanf从终端获取输入时,如果不输入程序就会一直停在那; 对一个已经有写锁的文件请求读时, 会一直空等直到前面的进程释放锁... 非阻塞的例子:读取文件内容, 如果文件当前因加锁无法访问则立即出错返回 2.非阻塞io设置方法 a.调用open函数时, 指定O_ 阅读全文
摘要:
pipe(管道) 专用于父子进程通信, 函数原型 int pipe(int fd[2]) fd[0]表示输入, fd[1]表示输出 如果父子进程要双向通信, 可以通过类似信号的功能进行控制, 也可以简单地打开两个pipe 以下例子, 打开两个pipe, 第一个pipe用于父进程向子进程发送信息, 第 阅读全文
摘要:
非阻塞io 1.对比 阻塞io的例子:scanf从终端获取输入时,如果不输入程序就会一直停在那; 对一个已经有写锁的文件请求读时, 会一直空等直到前面的进程释放锁... 非阻塞的例子:读取文件内容, 如果文件当前因加锁无法访问则立即出错返回 2.非阻塞io设置方法 a.调用open函数时, 指定O_ 阅读全文
摘要:
简介 守护线程在系统启动时运行,在系统终止时退出,没有控制终端,只在后台作为一个服务默默运行 编写规则 1.调用umask()设置文件创建时的权限规则 2.调用fork, 然后使父进程exit 3.调用setsid创建一个新会话 4.将系统根目录设置为当前工作目录 5.关闭不再需要的文件描述符 6. 阅读全文
摘要:
信号的分类 1.可靠信号: 此类信号支持排队, 不会丢失, 发送多少次就接收多少次. 此类信号的用途可由用户自定义 2.不可靠信号: 此类信号不支持排队, 可能会丢失, 连续多次发送同一信号只接收一次. 此类信号一般都有明确定义和用途 信号的发送 int kill(pid_t pid, int si 阅读全文
摘要:
/etc/passwd passwd文件保存着用户的初始工作信息, 每一行保存一位用户的信息 可以通过getpwuid或getpwnam来获取指定用户的信息 struct passwd \ getpwuid(uid_t uid); 通过指定uid来获取 struct passwd \ getpwna 阅读全文
摘要:
基本构成 分区就是把磁盘像比萨饼一样切成大小一样的扇形, 当然分区大小不一样扇形的大小也就不一样 上下一串盘片中,相同半径的磁道所组成的一个圆柱型的环壁,就称为柱面 在柱面组中, 比较重要的两个结构是:i节点集合和数据块集合 i节点和数据块 数据块集合是由大小固定的数据块组成, 在很多系统中数据块的 阅读全文
摘要:
创建和删除 int mkdir(const char \ pathname, mode_t mode); int rmdir(const char \ pathname); 另外remove也可以删除文件夹 mode: S_IRUSR,S_IWUSR,S_IXUSR,S_IRGRP,S_IWGRP, 阅读全文
摘要:
关于属性的结构 在linux下文件和文件夹都被认为是文件, 所以以下的这个属性对文件和文件夹通用 获取属性的函数有stat/fstat/lstat/fstat c struct stat buf; char pathname="./test.txt"; if(stat(pathname,&buf) 阅读全文