进程管理和工作控制
ps,top,htop命令的使用
传送信号
使用kill命令可以对进程传送信号进行管理。管理进程时的基本原则是
1 先礼后兵。先发送信号给进程,让进程自己完成该做的事,若进程已不听指挥,或失去控制,再发出强制性的信号。这样的好处是,让进程在结束前有缓冲的时间做好收尾工作,如清除存盘、锁定文件、进程编号记录文件等,否则当进程不正常结束时,若在主机中残留这些文件,而下次要再执行程序时,可能会出现无法启动的现象。
2 各得其所。调整进程的优先级,使得每个进程都得到适当的安排,各项工作能如期完成。进程进入执行排程(schedule)的优先级,成为nice值。通常nice值介于-20~20之间。nice值越少,优先级越高。只有root权限者才能调整介于-20~0的nice值;一般权限的使用者,只能调整其拥有的进程的nice值在0~20之间.换言之,只有root才能调高进程的优先级,一般使用者只能降低其进程的优先级。nice命令和renice命令。nice运用于尚未执行的程序,renice运用在已执行的进程。
nice -n nice值 程序 指定程序执行时的优先级为某一nice值。-20~19,但只有root可以用-20~0这个区段。若省略-n不指定nice值,则使用预设值10
renice nice值 -p PID -g 群组 -u 使用者名称 -p -g -u三个选项,可单独使用也可以组合使用
PRI也是进程优先级的一种表示法,和nice值(NI)不同的是,PRI永远以0或正数表示:PRI=NI+20
工作控制
bash的互动模式下,允许用户暂停某一进程,稍后再恢复执行该进程。这种赋予使用者操控进程的机制,成为工作控制(jobs control)
例子
#!/bin/bash
for ((;1;))
do
sleep 10
done
整理
常用的工作控制命令
& 将指令丢到背景执行
bg 将暂停的工作丢到背景 使用ctrl+z组合键暂停进程,然后配合bg命令把工作丢到背景,和执行"指令 &"的效果是一样的
fg 将暂停的工作拉回到前台执行
jobs 列出工作 或jobs -l
disown 移除工作
kill 传送信号给进程或工作
wait 等待子进程结束,传回最后一个命令的执行状态
suspend 暂停目前的shell。suspend 暂停一个非login的shell,suspend -f 暂停目前的login shell。当暂停的shell收到CONT信号时才会继续运行。
进程替换
进程替换可以让我们把标准输出,一次倒给许多进程作为输入;或者由多个进程取得其输出,然后倒给某个程序去处理。
进行替换的用法:
1 命令< (指令行) 通过设备文件/dev/fd/n或缓存文件,把进程的输出倒给<左方的命令来读取
2 > (指令行) 这是通过设备文件/dev/fd/n或缓存盘,把数据提供给()中的进程去读取
分享到:
相关推荐
Shell编程范例之进程操作的知识点涵盖Linux操作系统中进程相关的一系列操作。本文将详细介绍进程的...通过对这些知识点的学习和掌握,可以有效地利用Shell脚本管理Linux环境中的进程,实现自动化运维和系统管理任务。
综上所述,Shell学习是Linux用户和管理员必须掌握的基础技能。它不仅是用户与Linux系统交互的桥梁,还是进行系统管理、任务调度和自动化脚本编写的重要工具。通过学习和掌握Shell,用户可以更高效地使用Linux系统,...
这本书可能会深入探讨如何利用Shell的高级特性,如正则表达式、管道、进程控制和信号处理,来编写高效、简洁的Shell脚本。此外,它可能还会介绍如何调试和优化Shell脚本,以提高工作效率。 《Linux Shell脚本攻略》...
Chapter 14 进程管理和工作控制 Chapter 15 历史指令 Chapter 16 使用Shell Script撰写文字和图形接口程序 Chapter 17 文件操作 Chapter 18 主机系统管理 Chapter 19 Bash在TCP/IP方面的运用 Chapter 20 主机...
- **进程控制**: 启动、停止和管理子进程。 - **信号处理**: 接收和处理系统信号,实现脚本的响应式行为。 - **正则表达式**: 在脚本中使用正则表达式进行文本匹配和处理。 10. **附录和资源** - **常用命令**:...
在IT领域,Shell脚本是...同时,理解shell语法和环境变量,以及如何利用管道(pipe)、重定向(redirection)和进程控制等功能,将使你成为更高效的系统管理员或开发者。因此,投入时间学习shell编程是非常值得的。
在IT领域,Shell编程和UNIX命令是不可或缺的基础技能,尤其对于系统管理员、开发者以及...这个名为“shell编程和UNIX命令1-10”的压缩包可能包含一系列教程或练习,建议按照顺序逐一学习,通过实际操作来巩固理论知识。
以下是对`shell学习心得`相关知识点的详细说明: 1. **基础Shell文件格式与执行方式**: - Shell脚本通常以`.sh`为扩展名,例如`myscript.sh`。 - 要执行一个Shell脚本,可以使用`sh scriptname.sh`或首先赋予...
2. 进程管理:学习如何启动、停止、监控和控制系统的进程,以及理解进程的状态和优先级。 3. 网络配置与管理:包括IP地址、子网掩码、网关的设置,DNS解析,网络服务(如HTTP、FTP、SSH等)的配置和管理。 4. 用户...
SHELL命令可以用于执行各种操作,例如文件管理、进程管理、网络管理等。常见的SHELL命令包括cd、ls、mkdir、rm、cp、mv等。例如,cd命令用于切换当前目录,ls命令用于列出当前目录下的文件和目录,mkdir命令用于创建...
二、 进程和进程管理 进程是处在执行状态下的程序,可以用唯一的 PID 标识。可以使用 ps 和 pstree 命令显示进程。切换 Shell 可以使用 chsh 命令,例如 chsh -s /bin/tcsh。 三、 权限和所有权 权限是文件和目录...
通过本文档的学习,读者应该能够掌握基本的Shell编程技巧,包括变量定义、脚本编写、命令使用和流程控制等。随着实践经验的积累,进一步探索Shell的强大功能,将能够在日常工作中更加高效地解决问题。希望这份学习...
Shell是Linux和Unix操作系统中的命令解释器,它提供了一个用户...通过深入学习以上知识点,并结合"shell_study"中的教程和实践,你将能够熟练掌握Shell的基本操作和编程技巧,从而更高效地管理和控制Linux或Unix系统。
在电子科技大学的操作系统实验中,学生们将深入学习和实践进程与资源管理这一关键领域。这个实验的主要目标是设计和实现一个基本的进程与资源管理器,以增强对操作系统核心功能的理解。 实验的核心内容涉及以下几个...
理解Linux的基本概念,如文件系统结构、用户权限、进程管理、网络配置等,是进行有效系统管理的前提。在本资源包中,你将学习如何安装和配置Linux系统,以及如何在命令行界面下执行日常任务。 2. **Shell编程**:...
这包括数组、陷阱处理、子Shell、进程控制等,它们能让脚本更高效、灵活。 参考资源《LINUX与UNIX SHELL编程指南.pdf》会提供更详细的教程和实践案例,帮助你在21天内逐步掌握这些知识。通过不断练习和应用,你将...
而进程控制(如bg、fg、jobs)则能帮助你在后台运行和管理进程。 此外,了解Shell的环境变量(如PATH、HOME)和配置文件(如~/.bashrc)也是必不可少的。你可以通过修改这些配置来个性化你的Shell体验,比如设置...