Shell编程实战:远程杀僵进程与删除空链接解决方案
4星 · 超过85%的资源 需积分: 50 113 浏览量
更新于2024-09-17
1
收藏 40KB DOC 举报
"shell编程实例集锦包含了两个实用的shell脚本示例,分别是用于远程杀死僵进程的`rkill`脚本和删除index文件中空链接的脚本。这两个实例展示了shell脚本在系统管理和文件操作中的强大功能。"
在IT领域,shell编程是一种非常重要的技能,尤其对于系统管理员和自动化任务的执行者来说。这里有两个具体的shell脚本实例,我们可以详细分析它们的工作原理和用途。
### 远程杀死僵进程的`rkill`脚本
这个脚本主要用于处理并行计算时可能产生的僵进程。僵进程是指那些已经进入睡眠状态但不再有用或无法正常结束的进程。`rkill`脚本通过以下步骤来实现远程杀死指定范围内的节点上的指定程序进程:
1. 用户输入起始节点号 (`N1`)、结束节点号 (`N2`) 和要杀掉的程序名称 (`pname`)。
2. 脚本使用`rsh`(远程 shell)命令连接到每个指定的节点,并运行`ps -ef`命令来列出所有进程。
3. 使用`awk`命令从`ps -ef`的输出中提取出对应程序的进程ID (`ppid`)。
4. 再次使用`rsh`命令在每个节点上执行`kill`命令,以终止找到的进程ID。
### 删除index文件中空链接的脚本
此脚本用于清理一个HTML索引文件(如`archivepix.html`)中的无效链接,确保链接指向的文件实际存在。以下是脚本的主要步骤:
1. 首先,它使用`find`命令在当前目录下查找所有的实际文件,但不包括子目录,并且匹配特定的文件名格式(在这种情况下是`ap[0-9][0-9][0-9][0-9][0-9][0-9].html`)。
2. `find`命令的输出会被处理,将路径部分(`./`)移除,只保留文件名部分。
3. 然后,脚本将这些文件名与`archivepix.html`文件中的链接进行对比,通过`sed`命令进行文本替换,以便比较。
4. 最终,未在实际文件列表中存在的链接将被识别并删除。
这两个shell脚本实例展示了shell编程的灵活性和实用性,它允许用户自定义系统级别的任务,自动化日常维护工作,提高效率。通过学习和理解这些实例,可以提升在系统管理、故障排查和自动化流程设计方面的能力。在实际工作中,shell脚本可以广泛应用于日志分析、文件处理、定时任务以及监控等场景。
2018-09-23 上传
2018-09-15 上传
2009-12-30 上传
2009-01-07 上传
点击了解资源详情
2023-03-16 上传
2023-06-28 上传
面朝大海&春暖花开
- 粉丝: 16
- 资源: 27
最新资源
- BGP协议首选值(PrefVal)属性与模拟组网实验
- C#实现VS***单元测试coverage文件转xml工具
- NX二次开发:UF_DRF_ask_weld_symbol函数详解与应用
- 从机FIFO的Verilog代码实现分析
- C语言制作键盘反应力训练游戏源代码
- 简约风格毕业论文答辩演示模板
- Qt6 QML教程:动态创建与销毁对象的示例源码解析
- NX二次开发函数介绍:UF_DRF_count_text_substring
- 获取inspect.exe:Windows桌面元素查看与自动化工具
- C语言开发的大丰收游戏源代码及论文完整展示
- 掌握NX二次开发:UF_DRF_create_3pt_cline_fbolt函数应用指南
- MobaXterm:超越Xshell的远程连接利器
- 创新手绘粉笔效果在毕业答辩中的应用
- 学生管理系统源码压缩包下载
- 深入解析NX二次开发函数UF-DRF-create-3pt-cline-fcir
- LabVIEW用户登录管理程序:注册、密码、登录与安全