当前位置: 首页 > news >正文

linux shell脚本利用 kill -0 检查进程是否存在

1.kill -0介绍

kill -0 pid用来检查进程是否存在,kill -0 pid解释(来自man kill):“If sig is 0, then no signal is sent, but error checking is still performed.”不发送任何信号,但是系统会进行错误检查。

kill -0 pid

  ->若存在,即进程在运行,执行 echo $? 会返回 0

  ->若不存在,即进程已停止运行,执行 echo $? 会返回 1

  ->另外,Linux 的返回码规则是除 0 以外全是错误

2.kill -0样例

使用kill -0检查vim进程是否存在

wait_for_vim_process_exit.sh 

[root@rhel77 ~]# cat wait_for_vim_process_exit.sh 
#!/bin/bashwait_for_vim_process_exit()
{local pidforvim=$(ps -ef |grep vim |grep -v grep |awk '{print $2}')local begin=$(date +%s)local endwhile kill -0 $pidforvim > /dev/null 2>&1doecho -n "."sleep 1end=$(date +%s)if [ $((end-begin)) -gt 60 ];thenecho -e "\nTimeout"break;fidone  
}#main
wait_for_vim_process_exit
[root@rhel77 ~]# sh wait_for_vim_process_exit.sh 
..........
[root@rhel77 ~]# 

相关文章:

linux shell脚本利用 kill -0 检查进程是否存在

1.kill -0介绍 kill -0 pid用来检查进程是否存在,kill -0 pid解释(来自man kill):“If sig is 0, then no signal is sent, but error checking is still performed.”不发送任何信号,但是系统会进行错误检查。 kill -0 pid ->若存在&am…...

抖音视频删了怎么在电脑上找回来

【昨天整理电脑文件时,不小心将剪辑好的抖音作品误删了,但是回收站中找不回来了,这些视频是我花了很多心血制作的,如果没了真的十分可惜!希望大家能帮帮我,告诉我应该如何恢复这些文件。】 现在人们都喜欢…...

方面级别情感分析之四元组预测

情感四元组预测现有方法 阅读本文之前我们默认你对情感分析有基本的认识。 如果没有请阅读文章(https://tech.tcl.com/post/646efb5b4ba0e7a6a2da6476) 情感分析四元组预测涉及四个情感元素: 方面术语a,意见术语(也叫观点术语)o, 方面类别ac&#xff0c…...

算法 稀疏数组 数组优化 数组压缩 二维数组转稀疏数组 算法合集(二)

1. 五子棋游戏,玩家对战一半停战休息,此时需要存储当前对战双方棋子信息 a. 采用二维数组存储: 0为空, 1代表黑棋 2代表蓝色棋子 b. 棋盘为11行,11列 > int [][] chessArray new int [11][11]; c. 出现的问题&am…...

交换机端口安全实验

文章目录 一、实验的背景与目的二、实验拓扑三、实验需求四、实验解法1. PC配置IP地址部分2. 在SW1上开启802.1X身份验证3. 创建一个用户身份验证的用户。用户名为wangdaye,密码为1234564.创建一个端口隔离组,实现三台PC无法互相访问 摘要: 本…...

c# 本地化中英文切换

区域 线程默认区域为当前计算机所选区域 设置当前区域: Thread.CurrentThread.CurrentCulture new CultureInfo(“zh-cn”); 获取当前区域: Console.WriteLine(Thread.CurrentThread.CurrentCulture.ToString()); 区域名称: “zh-cn” 中文…...

rabbitmq的优先级队列

在我们系统中有一个 订单催付 的场景,我们的客户在天猫下的订单 , 淘宝会及时将订单推送给我们,如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒,很简单的一个功能对吧,但是,tianmao商家对我们来说&#…...

SpringBoot的Cacheable缓存注解

当我们的应用程序需要频繁地读取和写入数据时,为了提高应用程序的性能,我们通常会使用缓存技术。Spring Boot 提供了一种简单而强大的缓存框架,它可以轻松地将数据缓存到 Redis 中。 在 Spring Boot 中可以在方法上简单的加上注解实现缓存。…...

uniapp的 picker 日期时间选择器

效果图&#xff1a; dateTimePicker.js function withData(param){return param < 10 ? 0 param : param; } function getLoopArray(start,end){var start start || 0;var end end || 1;var array [];for (var i start; i < end; i) {array.push(withData(i))…...

element ui-Pagination

页面分为两个表格&#xff0c;当两边的表格数据量大时&#xff0c;分页样式就会受到影响&#xff0c;可以将跳转按钮的个数减少 页面分页代码如下 页面效果...

[开发|java] 将数组使用环境变量传递配置给typesafe配置示例

参考文献 如何将一组值作为环境变量提供给 typesafe/lightbend 配置 示例 假设需要如下配置要设置环境传递 whitlist [/oauth/render,/oauth/callback]需要使用如下的方式传递到 conf 文件中: whitlist [] whitlist.0 /oauth/render whitlist.1 /oauth/render...

MAC苹果电脑如何压缩rar文件?

作为开发者&#xff0c;想必主力开发机肯定都以苹果的MacBook为主&#xff0c;究其原因&#xff0c;为非是因为其对开发者的友好性&#xff0c;且可同时进行iOS 以及android的app开发&#xff0c;但是windows在这方面就欠缺太多了&#xff0c;虽然很多人说可以使用&#xff0c;…...

浅析编程中的语法糖

1、理解语法糖 1.1.什么是语法糖&#xff1f; 语法糖是一种编程语言的特性&#xff0c;它并不引入新功能&#xff0c;而是通过提供更简洁、易读的语法形式&#xff0c;使代码编写和理解变得更加轻松。它有点像是一种“甜蜜”的语法&#xff0c;让我们在不改变底层逻辑的情况下…...

【【萌新的STM32学习23----数据通信的基本类型】】

萌新的STM32学习23----数据通信的基本类型 数据通信的基本概念 数据通信方式可以分为串行通信&#xff0c;并行通信 串行通信&#xff1a; 数据逐位按顺序依次传输 并行&#xff1a; 数据各位通过多条线同时传输 串行通信&#xff1a; 传输效率低&#xff0c;抗干扰能力强&am…...

标准库STL容器使用值语义

C自学精简实践教程 目录(必读) 标准库STL的容器都是值语义的。 即&#xff0c;无法将一个变量放到容器里。容器里存放的只是我们放进去的变量的拷贝&#xff08;副本&#xff09;。 示例&#xff1a; #include <iostream> #include <vector> using namespace s…...

dockerfile 命令详解(三)

CMD 和 ENTRYPOINT 区别 CMD #指定这个容器启动的时候要运行的命令&#xff0c;只有最后一个会生效&#xff0c;可被替代 ENTRYPOINT #指定这个容器启动的时候要运行的命令&#xff0c;可以追加命令 FROM #基础镜像&#xff0c;一切从这里开始构建 MAINTAINER #…...

使用这个插件,fiddler抓包直接生成httprunner脚本

har2case可以将.har文件转化成yaml格式或者json格式的httprunner的脚本文件&#xff0c;生成.har格式文件可以借助 fiddler 或 Charles 抓包工具 友情提示&#xff1a; 录制脚本&#xff0c;只是一个过渡&#xff0c;从0到1的一个过渡&#xff0c;如果让你直接写脚本&#xf…...

干翻Dubbo系列第十五篇:Rest协议基于SpringBoot的规范化开发

文章目录 文章说明 一&#xff1a;Rest协议简介 二&#xff1a;搭建开发环境 1&#xff1a;父项目里边引入的新的版本内容 2&#xff1a;Api中的操作 3&#xff1a;Provider模块 三&#xff1a;编码 1&#xff1a;API模块 2&#xff1a;Provider模块 3&#xff1a;Co…...

文件上传后端处理页面

最近想搭建一个完整的网站&#xff0c;加深理解&#xff0c;困难重重啊&#xff0c;遇到很多问题 前端&#xff1a;非常原始的代码&#xff0c;没有用任何框架 <form method"post" enctype"multipart/form-data" action"upfile.php"><…...

小红书母婴类产品同质化严重,如何在市场中脱颖而出?

小红书是一个女性用户为主的平台&#xff0c;其美妆和母婴类产品是平台的主流类目。今天来分享下小红书母婴类产品同质化严重&#xff0c;如何在市场中脱颖而出&#xff1f; 一、小红书平台的母婴传播优势 尽管小红书的母婴品类&#xff0c;已经出现产品同质化严重的问题。但这…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...