- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第16章 程序与资源管理
进程的基本概念 执行一个程序或指令=产生一个 Process ID (PID)。 不同的使用者身份执行同一个程序时,系统给予的权限也都不相同。 当用户登入并执行bash 时,系统已经给这个bash分配一个PID。 用这个 bash 提供的接口去执行另一个指令,就会触发成为bash的子进程获得新PID 例题:请在目前的 bash 环境下,再触发一次 bash ,并以『 ps -l 』这个指令观察程序相关的输出信息。 答: 直接执行 bash ,会进入到子程序的环境中,然后输入 ps -l 后,出现: F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 500 21337 21336 0 75 0 - 1348 wait pts/1 00:00:00 bash 0 S 500 22573 21337 2 75 0 - 1348 wait pts/1 00:00:00 bash 0 R 500 22591 22573 0 76 0 - 1302 - pts/1 00:00:00 ps 注意:关闭进程应该关闭父进程 直接将指令放到后台执行 [root@linux ~]# tar -zpcf /tmp/etc.tar.gz /etc [1] 24874 == [job number] PID [root@linux ~]# == 可以继续作业,不受影响 将当前的工作丢到后台中『暂停』[ctrl]-z [root@linux ~]# vi ~/.bashrc # 在 vi 的一般模式下,按下 [ctrl]-z 这两个按键 [1]+ Stopped /usr/bin/vim ~/.bashrc [root@linux ~]# ==进入前台 观察目前的背景工作状态: jobs [root@linux ~]# jobs [-lrs] 参数: -l :除了列出 job number 之外,同时列出 PID -r :仅列出正在背景 run 的工作; -s :仅列出正在背景当中暂停 (stop) 的工作。 范例: 范例一:观察目前的 bash 当中,所有的工作,与对应的 PID [root@linux ~]# jobs -l [1]+ 24988 Stopped /usr/bin/vim ~/.bashrc [2]- 25006 Stopped /usr/bin/vim ~/.bash_history 将后台工作放回前台 fg [root@linux ~]# fg %jobnumber 参数: %jobnumber :工作的号码。注意,那个 % 是可有可无的! 范例:先以 jobs 观察工作,再将工作取出: [root@linux ~]# jobs [1]+ Stopped /usr/bin/vim ~/.bashrc [2]- Stopped /usr/bin/vim ~/.bash_history [root@linux ~]# fg ==预设取出那个 + 的工作,亦即 [1] [root@linux ~]# fg %2 ==直接规定取出的那个工作号码! 让暂停的工作在后台下进入运行状态: bg 范例一:一执行 find / -perm +7000 后,立刻丢到背景去暂停! [root@linux ~]# find / -perm +7000 # 此时,请立刻按下 [ctrl]-z 暂停! [1]+ Stopped find / -perm +7000 [root@linux ~]# 范例二:让该工作在背景下进行,并且观察 [root@linux ~]# jobs ; bg %1 ; jobs [1]+ Stopped find / -perm +7000 [1]+ find / -perm +7000 [1]+ Running find / -perm +7000 管理后台运行的工作: kill [root@linux ~]# kill -signal %jobnumber [root@linux ~]# kill -l 参数: -l :这个是 L 的小写,列出目前 kill 能够使用的讯号 (signal) 有哪些? -1 :
文档评论(0)