bash脚本观察程序状态

devtools/2024/12/28 20:21:58/
script % touch proc.sh 
script % chmod 755 proc.sh

proc.sh:

#!/usr/bin/env bashSTATUS=0if [ -z $1 ];then # 检查是否传了PID参数echo please enter a PIDexit 1
fiecho watching PID $1while [ $STATUS -eq 0 ] # 如果是我们初始的值,说明程序的状态还没有改变
dops $1 > /dev/null # 查询程序状态STATUS=$? # 更新状态值
doneecho PID $1 is terminated
exit 0

测试过程:

  1. 在一个新终端,打开nano程序:
~ % nano

2.在另一个新终端,查询nano程序的PID:

~ % ps -aPID TTY           TIME CMD
22133 ttys000    0:00.02 login -pf juklinglee
22134 ttys000    0:00.02 -zsh
22150 ttys000    0:00.01 ps -a
10610 ttys001    0:00.02 login -pf juklinglee
10611 ttys001    0:00.96 -zsh
22109 ttys001    0:00.02 vim proc.sh
19138 ttys002    0:00.02 login -pf juklinglee
19139 ttys002    0:00.02 -zsh
22130 ttys002    0:00.01 nano

22130 是nano程序的PID

  1. 执行我们的脚本:
script % ./proc.sh 22130
watching PID 22130

4.关闭nano程序:

script % ./proc.sh 22130
watching PID 22130
PID 22130 is terminated

http://www.ppmy.cn/devtools/146195.html

相关文章

JAVA代理模式和适配器模式

文章目录 Java 代理模式和适配器模式代理模式(Proxy Pattern)适配器模式(Adapter Pattern)代理模式和适配器模式的区别 代理模式的使用举例静态代理实现:用代理模式记录方法调用日志动态代理实现:使用 Java 动态代理记录方法调用日…

LabVIEW软件项目设计方案如何制定

制定LabVIEW软件项目设计方案需要综合考虑需求分析、架构设计、功能模块划分和时间预算等多个方面,确保项目开发过程高效、可控且最终满足目标要求。以下是一个详细的制定流程: ​ 1. 需求分析 目标定义:明确项目的目标,例如数据采…

计算属性 简写和 完整写法

计算属性渲染不加上括号 methods方法和computed属性区别: computed只计算一次,然后缓存,后续直接拿出来使用,而methods每次使用每次计算,不会缓存 计算属性完整写法: 既获取又设置 slice 截取 成绩案例 …

Binoculars——分析证实大语言模型生成文本的检测和引用量按学科和国家明确显示了使用偏差的多样性和对内容类型的影响

摘要 论文地址:https://www.biorxiv.org/content/10.1101/2024.03.25.586710v2.full.pdf 人工智能技术的进步正在改变数字内容生产和消费的格局。尤其值得注意的是生成式人工智能的快速发展,包括大规模语言模型,如 ChatGPT,它出现…

Qt Designer与常用组件

目录 一、Qt Designer使用入门与进阶 二、布局Layout详解 三、QWidget及其常用属性 四、界面文件与C代码的完美结合 五、QLabel与图片资源管理 六、QAbstractButton及其子类的应用 七、QLineEdit与用户输入交互 八、ComboBox与选项管理 九、数字相关组件的综合应用 摘…

5_SparkGraphX讲解

SparkGraphX讲解 1、为何使用SparkGraphiX图处理? 许多大数据以大规模图或网络的形式呈现,尤其是许多的非图结构的大数据,常会被转换为图模型进行分析。 图数据结构能够很好地表达数据之间的关联性。 2、图——基本术语认知 概念&#xf…

《操作系统真象还原》第十章(二)—— 键盘驱动程序的编写与输入系统

章节任务介绍 在上一节中,我们介绍了操作系统的同步机制互斥锁的内容,并手动实现了互斥锁,同时实现了线程安全的屏幕打印。 至此,我们算是基本完成了操作系统的“输出”功能,但目前为止我们的输入仍旧依赖于程序&…

Bash 脚本教程

注:本文为 “Bash 脚本编写” 相关文章合辑。 BASH 脚本编写教程 as good as well于 2017-08-04 22:04:28 发布 这里有个老 American 写的 BASH 脚本编写教程,非常不错,至少没接触过 BASH 的也能看懂! 建立一个脚本 Linux 中有…