- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux--程序管理
LINUX下的程序管理
1.1
程序与进程
程序 program :通常为binary program,放置在储存媒体中 如硬盘、光盘、软盘、磁带等 ,为实体档案的形态存在;
进程 process :程序被觉发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载内存中,操作系统并给予这个内存内的单元一个标识符 PID ,可以说,进程就是一个正在运作中的程序。
子程序不父程序:
当我们登入系统后,会取得一个bash的shell,然后,我们用这个bash 提供的接口去执行另一个指令,例如/usr/bin/passwd或者是touch等等,那些另外执行癿指令也会被觉发成为PID。那个后来执行指令才产生的PID就是『子程序』了,而在我们原本的bash环境下,就称为『父程序』了!
1.2
Bash环境下的工作管理
进行工作管理的行为中,其实每个工作都是目前bash的子程序,亦即彼此之间是有相关性的。我们无法以job control的方式由tty1的环境去管理tty2的bash。
或许你会觉得很奇怪,既然可以在六个终端接口登入,那何必使用 job control呢?不要忘记了,我们可以在/etc/security/limits.conf里面设定使用者同时可以登入癿联机数,在这样的情冴下,某些使用者可能仅能以一个联机来工作!所以,就得要了解一下这种工作管理的模式了!由与假设我们另有一个终端接口,因此在可以出现提示字符让你操作的环境就称为前台 foreground ,至与其他工作就可以让你放入后台 background 去暂停或运作。要注意的是,放入后台的工作想要运作时,他必项不能够与使用者互动。举例来说,vim绝对不可能在后台里面执行的!因为你没有输入数据他就不会启动!而且放入后台的工作是不可以使用[ctrl]+c来终止的!总之,要进行bash的job control必项要注意到的限制是:
1.这些工作所触发的程序必项来自于你shell的子程序 只管理自己癿 bash ;
2.前台:你可以控制与下达指令的这个环境称为前台的工作 foreground ;
3.后台:可以自行运作的工作,你无法使用[ctrl]+c终止他,可使用 bg/fg呼叫该工作;
4.背景中『执行』的程序不能等待terminal/shell的输入。
Job contriol的管理
直接将指令丢到后台中『执行』的
[root@server1 ~]# tar -zpcf /tmp/etc.tar.gz /etc
[1] 28969
[root@server1 ~]# tar: Removing leading `/ from member names
tar: Removing leading `/ from hard link targets
[1]+ Done tar -zpcf /tmp/etc.tar.gz /etc
在输入一个指令后,在该指令的最后面加上一个“”代表将该指令丢到后台中,此时bash会给予这个指令一个工作号码 job number ,就是那个[1]!至于后面那个8400则是该指令所触发的PID了!而且,我们可以继续操作bash。
此外,将工作丢到后台当中要特别注意资料的流向!包括上面的讯息就有出现错误讯息,导致前台被影响。虽然只要要按下[enter]就会出现提示字符。
[root@server1 ~]# tar -zpcvf /tmp/etc1.tar.gz /etc
在后台当中执行的挃令,如果有输出参数时,他的数据依旧是输出到屏幕上面的,所以,我们会无法看到提示字符,当然也就无法完好的掌握前台工作。同时由于是后台工作的tar,此时你怎么按下[ctrl]+c也无法停止屏幕被搞的花花绿绿的!所以,最佳的状况就是利用数据流重导向,将输出数据传送至某个档案中。可以这样做:
[root@server1 ~]# tar -zpcvf /tmp/etc2.tar.gz /etc /tmp/log.txt 2 1
将目前的工作放到后台中暂停:ctrl+z
观察目前后台工作状况:jobs
jobs [选项]
常用选项:
-l :列出job编号、指令和PID
-r :列出正在后台运行的工作
-s :列出正在后台暂停的工作
将后台工作拿到前台来处理:fg
fg %jobnumber
让工作在后台的状态变成running:bg
bg %jobnumber
管理后台当中的工作:kill
Kill -信号 %jobnumber
Kill -l
-l :列出能用的信号有哪些
-1 :重新读取一次参数的配置文件
-2 :代表与由键盘输入ctrl-c同样的命令
-9 :立即强制删除一个工作
-15 :以正常方式结束一项工作
Kill后面默认跟上PID
原创力文档


文档评论(0)