- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 shell、多任务与进程 本章导读 人与系统界面——shell概述 进程与多任务 进程管理相关的命令 shell编程 shell下的常用命令 人与系统界面——shell概述 什么是Shell Shell是一个独立于?OS?的应用程序,是介于使用者和 Unix/Linux 操作系统的核心程序(kernel)之间的接口,是一个具有交互性的命令行解释器。 Shell的作用 解释键入的命令以及执行一些特定的功能,如果是程序则传到内核执行。 人与系统界面——shell概述 常用的Shell Bourne Shell(sh, bash) 最早被大量使用而且标准化的shell C shell(csh, tcsh) 易于使用且会话性强,最早提供alias、history、 job control功能 Korn shell(ksh) 语法与sh兼容 进程与多任务 进程一般分为交互进程、批处理进程和守护进程三类。 守护进程总是活跃,在系统启动时通过脚本自动启动,或由root启动,通常在后台运行。 一个进程可以拥有子进程。当父进程终止时,它的子进程也随之终止;而子进程终止时,父进程通常可以继续运行。 init 进程为根进程,所有进程都是它的子进程 进程与多任务 进程管理相关的命令-ps Ps各字段含义 UID:进程所有者 PID:进程ID %CPU:进程使用CPU的时间比 %MEM:使用内存的百分比 SIZE:使用虚拟内存大小 RSS:常驻内存大小(Kbyte) TTY:与进程有关的终端 STAT:状态, 进程管理相关的命令-STAT R:运行态 S:休眠态 I:空闲态 Z:僵死态 D:磁盘等待 P:页等待 W:交换导出 N:nice决定的优先级 T:终止 :执行由root决定的优先级 进程管理相关的命令-kill 信号:传递给进程的一个异常事件 信号共有31个 格式:kill [信号] PID 常用信号定义: -SIGSTOP:暂停某个进程 -SIGCONT:继续暂停的进程 -SIGHUP:挂起一个进程 -SIGTERM:软中断,正常退出一个软件 -SIGKILL:杀死一个进程 -SIGTSTP:键盘停止信号,ctrl+z 进程管理相关的命令- killall Killall [信号] 程序名 发送信号给该程序的所有进程 进程管理相关的命令-进程的挂起和恢复 进程的中止(挂起)和终止 挂起(Ctrl+Z) 终止(Ctrl+C) 进程的恢复 恢复到前台继续运行(fg) 恢复到后台继续运行(bg) 查看被挂起的进程(jobs) 进程管理相关的命令-进程调度 Shell编程简介 Shell除了是一个命令行解释器外,同时还是一个功能相当强大的编程语言,大多数Linux系统的启动文件(rc files)都是使用shell script Shell?程序: Shell程序是按照一定的规则包含??系统命令的文件。 要执行?Shell程序,文件的权限至少是?r-x。 可以传递给程序的数据:环境变量,命令行变量和用户输入的变量(read?命令)。 编程注意事项: 建议加注释(#后面的内容为注释)。 不要生成文件名为?test?的?Shell?程序(test?是?Shell?命令)。 export?命令的使用(本地变量?--?环境变量)。 子程序不能修改它上一级进程的环境变量。即使它对这个环境变量再次赋值,但在它的上一级进程里将不会受到影响。 Shell编程-环境变量 环境变量 $HOME 用户主目录 $PATH 默认的有哪些信誉好的足球投注网站路径 $PS1 命令行的提示符 $PS2 命令未打完时,shell要求再输入时的提示符 预定义变量 $0 shell脚本程序的名字 $n 程序的第n个参数,n=1…9 $* 程序的所有参数 $# 程序的参数个数 $? 执行上一个指令的返回值 shell特殊符号使用 shell使用两种引号和反斜线 双引号“”(让引号内的变量生效) 单引号‘’(引号内的变量当作一个字符使用) 反斜线\(禁用特殊字符功能\$) 后引号``(让引号内的命令生效) Var=hello Echo “var is $var” Echo ‘var is $var’ Echo “var is \$var” Echo `ls` Shell编程-流程控制 If条件语句 For循环 While和until循环 Case条件选择 Shift语句 Goto跳转 Test测试命令 Shell常用控制组合键 shell下的常用命令 she
文档评论(0)