网站大量收购独家精品文档,联系QQ:2885784924

Shell 进程操作.pdfVIP

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

Shell 进程操作 前言 进程作为程序真正发挥作⽤时的“形态” ,我们有必要对它的⼀些相关操作⾮常熟悉, ⼀节主要描述进程相关的概念和操作,将介绍包括程序、进程、作业等基本概念以 及进程状态查询、进程通信等相关的操作。 什么是程序,什么又是进程 程序是指令的集合,⽽进程则是程序执⾏的基本单元。为了让程序完成它的⼯作,必 须让程序运⾏起来成为进程,进⽽利⽤处理器资源、内存资源,进⾏各种 I/O 操作, 从⽽完成某项特定⼯作。 从 个意思上说,程序是静态的,⽽进程则是动态的。 进程有区别于程序的地⽅还有:进程除了包含程序⽂件中的指令数据以外,还需要在 内核中有⼀个数据结构⽤以存放特定进程的相关属性,以便内核更好地管理和调度进 程,从⽽完成多进程协作的任务。因此,从 个意义上可以说“⾼于”程序,超出了程 序指令本⾝。 如果进⾏过多进程程序的开发,又会发现,⼀个程序可能创建多个进程,通过多个进 程的交互完成任务。在 Linux 下,多进程的创建通常是通过 fork 系统调⽤来实现。 从 个意义上来说程序则”包含” 了进程。 另外⼀个需要明确的是,程序可以由多种不同程序语⾔描述,包括 C 语⾔程序、汇编 语⾔程序和最后编译产⽣的机器指令等。 下⾯简单讨论 Linux 下⾯如何通过 Shell 进⾏进程的相关操作。 进程的创建 通常在命令⾏键⼊某个程序⽂件名以后,⼀个进程就被创建了。例如, 范例:让程序在后台运⾏ $ sleep 100 [1] 9298 范例:查看进程 ID ⽤pidof可以查看指定程序名的进程ID : $ pidof sleep 9298 范例:查看进程的内存映像 $ cat /proc/9298/maps 0804b000 r-xp08 01 977399 /bin/sleep 0804b000-0804c000 rw-p08 01 977399 /bin/sleep 0804c000-0806d000 rw-p 0804c000 00 00 0 [heap] b7c8b000-b7cca000 r--p08 01 443354 ... bfbd8000-bfbed000 rw-p bfbd8000 00 00 0 [stack] ffffe000-fffff000 r-xp00 00 0 [vdso] 程序被执⾏后,就被加载到内存中,成为了⼀个进程。上⾯显⽰了该进程的内存映像 (虚拟内存),包括程序指令、数据,以及⼀些⽤于存放程序命令⾏参数、环境变量 的栈空间,⽤于动态内存申请的堆空间都被分配好。 关于程序在命令⾏执⾏过程的细节,请参考 《Linux 命令⾏下程序执⾏的⼀刹那》。 实际上,创建⼀个进程,也就是说让程序运⾏,还有其他的办法,⽐如,通过⼀些配 置让系统启动时⾃动启动程序 (具体参考 man init),或者是通过配置 crond (或者 at)让它定时启动程序。除此之外,还有⼀个⽅式,那就是编写 Shell 脚本, 把程序写⼊⼀个脚本⽂件,当执⾏脚本⽂件时,⽂件中的程序将被执⾏⽽成为进程。 些⽅式的细节就不介绍,下⾯了解如何查看进程的属性。 需要补充⼀点的是:在命令⾏下执⾏程序,可以通过 ulimit 内置命令来设置进程可 以利⽤的资源,⽐如进程可以打开的最⼤⽂件描述符个数,最⼤的栈空间,虚拟内存 空间等。具体⽤法见 help ulimit 。 查看进程的属性和 态 可以通过 ps 命令查看进程相关属性和状态, 些信息包括进程所属⽤户,进程对应 的程序,进程对 cpu 和内存的使⽤情况等信息。熟悉如何查看它们有助于进⾏相关的 统计分析等操作。 范例:通过 ps 命令查看进程属性 查看系统当前所有进程的属性: $ ps -ef 查看命令中包含某字符的程序对应的进程,进程 ID 是 1 。 TTY 为?表⽰和终端没有 关联: $ ps -C init PID TTY TIME CMD 1 ? 00 00 01 init 选择某个特定⽤户启动的进程: $ ps -U falcon 按照指定格式输出指定内容,下⾯输出命令名和 cpu 使⽤率: $ ps -e -o %C %c 打印 cpu 使⽤率最⾼的前 4 个程序: $ ps -e -o %

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档