- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7讲进程管理
本章重点内容 进程概述 进程管理 守护进程 安排周期性任务 本章学习目标 理解进程的相关概念 掌握进程管理命令的使用 理解并管理守护进程 掌握周期性任务的设置方法 进程的概念 进程(Process) 是一个程序在其自身的虚拟地址空间中的一次执行活动。 之所以要创建进程,就是为了使多个程序可以并发的执行,从而提高系统的资源利用率和吞吐量。 进程与程序 程序只是一个静态的指令集合;进程是一个程序的动态执行过程,它具有生命期。 进程是资源申请的、调度和独立运行的单位,它使用系统中的运行资源。 程序和进程并无一一对应关系。(虚拟机软件,QQ) Linux中的进程 PID:每个进程的识别号 INIT:系统启动后的第一个进程 父进程 子进程:fork( ) 所有的进程都有父进程。对吗? 进程的类型 交互进程 由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。 批处理进程 不与特定的终端相关联,提交到等待队列种顺序执行的进程。 守护进程 在Linux在启动时初始化,需要时运行于后台的进程。 进程的概念 进程的启动方式 手工启动 前台 后台 #ls -R / list 调度启动: cron 查看系统中的进程 ps命令功能 可以确定有哪些进程正在执行和执行的状态 进程是否结束、进程有没有僵死 哪些进程占用了过多的系统资源等 ps命令格式 # ps [选项] 常用选项 a,e,u,x,f,w,-e,-f 查看系统中的进程 常用选项 a:显示所有进程 e:在命令后显示环境变量 u:显示用户名和启动时间等信息 x:显示没有控制终端的进程 f:显示进程树 w:宽行输出 -e:显示所有进程 -f:显示全部 查看系统中的进程 操作举例 显示出当前用户在shell下所运行的进程 # ps 只查看用户osmond的进程 # ps -u osmond 列出系统中正在运行的所有进程的详细信息 # ps -aux 显示系统进程树 # ps -auxf 父子进程演示 #includestdio.h #includesys/types.h #includeunistd.h int main() { int p_id; if( (p_id=fork() ) == 0) { sleep(5); printf(“child:%d\n”,pid); } else { sleep(10); printf(“farther:%d\n”,pid); } return 0; } 运行结果 #cc testfork.c #./a.out [1] 18927 child:0 farther:18928 杀死系统中的进程 为什么要杀死进程 该进程占用了过多的CPU时间 该进程锁住了一个终端,使其他前台进程无法运行 运行时间过长,但没有预期效果 产生了过多到屏幕或磁盘文件的输出 无法正常退出 杀死系统中的进程 常用进程信号 HUP/SIGHUP/1:从终端上发出的结束信号,发送给守护进程可使其重新读取配置文件 INT/SIGINT/2:从键盘上发出的中断信号(ctrl+c) QUT/SIGQUT/3:从键盘上发出的退出信号(ctrl+\) KILL/SIGKILL/9:结束接受信号的进程(强行杀死进程) TERM/SIGTERM/15:kill命令默认的终止信号 STOP/SIGSTOP/19:从键盘来执行的信号(ctrl+d) 在系统中通过向进程发送进程信号实现对进程的控制。 向进程发送进程信号可以使用kill和killall等命令 kill命令 功能:向指定PID的进程发送进程信号 格式:kill [-signal] PID 举例: 杀死PID为1621的进程 $ kill 1621 强行杀死PID为1621的进程 $ kill -9 1621 killall命令 功能:向指定进程名的进程发送进程信号 格式:killall [-signal] 进程名 举例: 杀死进程名为cat的所有进程 $ killall cat 强行杀死进程名为named的进程 # killall -9 named 使xinetd守护进程重新读取其配置文件 # killall -1 xinetd 命令举例 启动telnet服务 测试远程登陆是否成功 修改配置文件/etc/xinetd.d/telnet 使用kill命令重新载入配置文件 测试远程登陆是否成功 nohup命令 功能:使进程在退出登录后仍旧继续执行。 格式:$ nohup 程序名 结果:如果程序program有结果输出,输出结果将会被保存到当前目录下的一个文件名为 no
文档评论(0)