微信号:grzlwx

介绍:光荣之路官方资讯

linux基本操作笔记 (四)

2015-11-05 22:25 floralin

吴老的《selenium webdriver 实战宝典》出版了!

相关阅读:

linux基本操作笔记

linux基本操作笔记 (二)

linux基本操作笔记 (三)

打包和压缩

比较大型的文件透过所谓的文件压缩技术之后,可以将他的磁碟使用量降低, 可以达到减低文件容量的效果。

linux 支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件,区分不同的压缩文件通常通过后缀的扩展名。

gzip或bzip2压缩test

floralin@ubuntu:~/Desktop/linux_study$ gzip test

解压test

floralin@ubuntu:~/Desktop/linux_study$ gzip -d test


打包命令: tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩

将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz

linux进程基础

计算机实际上可以做的事情实质非常简单,比如会所两数求和,查找内存中的地址等等。这些基础的计算机动作被称为“指令”。所谓的程序就是这一系列指令的集合。通过程序,我们可以让计算机完成复杂的操作。

程序大多数会被存储为可执行的文件。

进程和程序的区别

进程是程序的一种具体实现。进程是执行程序的过程。查询正在运行的进程:

floralin@ubuntu:~$ ps -eo pid,comm,cmd

-e代表列出全部进程,-o pid,comm,cmd代表我们需要pid,comm和cmd信息。

每一行代表一个进程,三列的信息分别代表,每一行进程的唯一PID表示、COMMAND是进程的简称、CMD是进程所对应的程序以及运行时所带的参数(对于使用使用[ ]的,是kernel的一部分功能,被打扮成进程的样子,方便操作系统管理)。

如何创建进程

实际上计算机在开机的时候,内核kernel只建 立了一个init进程,linux kernel是并不直接建立新进程的系统调用。所有的进程是通过fork机制建立的。(fork,新的进程需要通过的的进程复制自身得到)。当进程 fork的时候,linux在内存中开辟出一片新的内存空间给新的进程,并将老的进程空间中的内容复制到新的空间中,从此两个进程同时运行。可以通过 pstree命令来显示整个进程树:

子进程的终结

当子进程终结时,会通知父进程清空自己所占据的内存,并在kernel中留下自己退出信息。

父进程在得知子进程终结时,会对该子进程使用wait系统调用。这个wait函数能从kernel中取出子进程的退出信息,并清空该信息在kernel中所占据的空间。

但是,如果父进程早于子进程终结,子进程就会成为一个孤儿(orphand)进程。孤儿进程会被过继给init进程,init进程也就成了该进程的父进程。init进程负责该子进程终结时调用wait函数。

linux信号程基础

kernel内有若干个进程,每个进程不允许该进程之外的人进入,这样对于每个进程来说是一个保护机制 ,但是有时候需要打破封闭的保护,以便和进程交流信息。

这样就需要一种通信方式。传递的信号比较粗糙 ,只能是一个整数,但正是因为传递的信息量很少,信号才便于管理和使用。

信号被经常用于系统管理相关的任务,比如通知进程终结、中止或者恢复等等,由内核管理,也可以由内核产生。

通过ping来查询进程的PID,然后可以通过kill命令来向某个进程发出信号:

$kill -SIGCONT 9575

传递SIGCONT信号给ping进程。

信号处理

所有的信号都采用了对应信号的默认操作,但并不绝对,当进程决定执行信号的时候,有集几种可能:

1)无视。信号被清除,进程本身补采取任何特殊的操作。

2)默认。每个信号对应一定的默认操作,比如上面所提及的SIGCONT用于继续进程。

3)自定义操作。也叫做获取信号,执行进程中预设的对应于该信号的操作。

(完)

(作者:floralin 来源:http://www.cnblogs.com/0603ljx/p/4924285.html)


 
            
 
            
 
            
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           

感谢作者,传播测试知识、技能与正能量!
分享测试生活,思考测试人生!欢迎来稿735821166@qq.com

光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499

 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 int main()还是void main() 这几张图你看了,智商瞬间提升20% 吐槽 ▏面向对象:说说程序员不解风情的瞬间 移动端地图技术分享 与Android Memory谈一场不分手的恋爱(一)