Linux
myblackblog
这个作者很懒,什么都没留下…
展开
-
Linux进程创建:fork,vfork,exec,clone总结
Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息,包括数据段,代码段,堆栈段的地址,当前进程的环境变量,文件的描述符等,在创建进程的时候,会为进程创建进程描述符。1.fork系统调用 fork用来创建子进程,fork调用一次返回两次,有三种不同的返回值,在父进程中返回值为子进程的PID,子进程中返回值为0,如原创 2016-07-22 14:42:41 · 1325 阅读 · 0 评论 -
Linux写时拷贝技术(copy-on-write)
COW技术初窥: 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。 那么子进程的物理空间没有代码,怎么去取指令执行exec系统调用呢? 在fork之后exec之前两个进程用转载 2016-07-22 15:18:17 · 328 阅读 · 0 评论 -
/bin,/sbin,/usr/sbin,/usr/bin 目录简介
/bin目录存放系统的一些普通的基本命令,例如:cat、cp、chmod、df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。/sbin一般是指超级用户指令,主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、 ifup、 ifdown、init、insmod、lilo、转载 2016-07-24 20:47:11 · 468 阅读 · 0 评论 -
/usr/bin/env的使用
linux shell的脚本开头一行需要指定脚本的解释程序,如:#!/usr/bin/env python,但有的时候我们又会使用#!/usr/bin/python,这是因为脚本解释器在linux中可能被安装于不同的目录,如果直接将解释器路径写在脚本里,这样可能会造成找不到解释器的问题,env可以在系统的PATH目录中查找解释器。同时,env还规定一些系统环境变量,可以执行env 命令查看原创 2016-07-24 21:12:48 · 6073 阅读 · 0 评论 -
Linux硬链接与软链接
http://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/#fig2原创 2016-07-27 09:48:59 · 253 阅读 · 0 评论 -
linux系统的chroot作用
chroot用于改变应用程序的根目录,也就是通过该命令可将一个子目录设置为该应用程序的“/”,如果要正常执行命令和程序等,必须还将系统中/bin,/usr/bin ,/usr/lib 等目录拷贝到该“/”下。原创 2016-07-22 18:04:23 · 915 阅读 · 0 评论