linux--程序管理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档