返回顶部
首页 > 资讯 > 操作系统 >Linux中Shell脚本执行超时如何解决
  • 292
分享到

Linux中Shell脚本执行超时如何解决

2023-06-16 12:06:55 292人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关linux中shell脚本执行超时如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象。一般来说遇到

这期内容当中小编将会给大家带来有关linuxshell脚本执行超时如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象。一般来说遇到这种问题,我们都会简单粗暴的采用下面这种脚本来当“超时看门狗“:

Linux中Shell脚本执行超时如何解决

这个脚本搭配两个变量使用的话,监控一点小代码还算OK,但是它的逻辑还是比较粗糙,比如如果在这个脚本执行的时候,又有了一个新的process在后台启动,那么kill掉的就是新的process,而本应该停止的脚本还是在后台肆无忌惮的跑着。

为了不滥杀无辜,所以遇到这种情况,就要使用timeout命令,具体的用法请自行#man timeout,这个命令在Centos 6里就是自带的。

假设我们要ping www.baidu.com ,同时要求“若超过了5秒没有反应,就停止这个任务”。那么就是用命令:#timeout 5s ping  www.baidu.com,效果如图:

Linux中Shell脚本执行超时如何解决

从26秒到31秒,的确达到了5秒就跳出的效果。

牛刀小试结束,那么现在我们就来进化一下我们之前的那个MQ脚本,之前在  Http://chenx1242.blog.51cto.com/10430133/1884415  里我曾经写过一个MQ脚本,但是那个MQ脚本有点理想化了,里面忘记了添加“超时监控”以及“重启失败的话会发邮件提醒运维人员”这两个功能,在这里我们就把上面两个短板补齐。

首先,我们先运行一下看看这个MQ看门狗脚本需要运行的时间:

Linux中Shell脚本执行超时如何解决

从上面可见整个脚本运行大约需要13秒,那么我们考虑到其他因素设定超时时间为20秒,执行效果如图:

Linux中Shell脚本执行超时如何解决

返回码是0,那么再看看如果因为超时而停止的返回码是多少呢?

Linux中Shell脚本执行超时如何解决

可见由于超时停止的返回码是124(ctrl+c手动退出的返回码是130),那么整个脚本就很好写了,如下:

Linux中Shell脚本执行超时如何解决

然后在crontab里直接执行这个脚本就好了。

补充说明之一,在文中测试timeout命令的时候,我使用了ping,其实这个是不严谨的,因为unix的ping默认会***重复,所以#timeout 3s  ping www.baidu.com 不管有没有网络连接都会超时。这里***的例子是看看#timeout 3s sleep 1和#timeout 3s sleep  5的区别。

补充说明之二,在shell脚本里,timeout后面若跟函数的话是无效的!

上述就是小编为大家分享的Linux中Shell脚本执行超时如何解决了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网操作系统频道。

--结束END--

本文标题: Linux中Shell脚本执行超时如何解决

本文链接: https://www.lsjlt.com/news/283683.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux中Shell脚本执行超时如何解决
    这期内容当中小编将会给大家带来有关Linux中Shell脚本执行超时如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象。一般来说遇到...
    99+
    2023-06-16
  • Shell 脚本中重复执行如何解决
    Shell 脚本中重复执行如何解决,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。简介flock 是文件锁命令,它可以保证Linux系统上进程之间安全的访问临界资源,在shell...
    99+
    2023-06-15
  • linux中crontab的脚本不执行如何解决
    本篇文章为大家展示了linux中crontab的脚本不执行如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1 、在调用 oracle 的 sqlplus...
    99+
    2023-06-05
  • Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路
    由于一些不可抗拒的原因,项目部署后需要定时检测项目是否正常运行,否则将执行重启命令。 在具体实施过程中发现,定时器执行无误,但是重启命令无法正常启动。多方查找发现Shell脚本中的ysLsXjava命令需要引入环境变量方...
    99+
    2022-06-04
    crontab定时执行shell脚本的小坑 linux crontab定时执行shell脚本需要执行特定的命令时解决思路
  • 如何解决 shell 脚本重复执行的问题
    简介 flock 是文件锁命令,它可以保证linux系统上进程之间安全的访问临界资源,在shell脚本中,可以用来控制逻辑的互斥性 实例1 现有脚本 a.sh, 内容如下 #!/bin/bash echo "[...
    99+
    2022-06-04
    shell 脚本重复执行 解决shell脚本重复执行
  • shell脚本中如何执行sql文件
    在shell脚本中执行sql文件,可以使用以下命令: mysql -u 用户名 -p密码 数据库名 < 文件名.sql 其中...
    99+
    2024-04-09
    shell sql
  • 怎么在Linux中使用crontab定时执行Shell脚本
    今天就跟大家聊聊有关怎么在Linux中使用crontab定时执行Shell脚本,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、crontab执行配置* * *&...
    99+
    2023-06-09
  • php执行时间超时如何解决
    php执行时间超时如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境。二、W...
    99+
    2023-06-14
  • Linux下如何添加shell脚本执行权限
    这篇文章主要为大家展示了“Linux下如何添加shell脚本执行权限”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何添加shell脚本执行权限”这篇文章吧。创建脚本文件第一步是使用...
    99+
    2023-06-27
  • 如何解决node.js在Linux下执行shell命令、.sh脚本的问题
    小编给大家分享一下如何解决node.js在Linux下执行shell命令、.sh脚本的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先,引入子进程模块var process = requ...
    99+
    2023-06-28
  • linux如何执行perl脚本
    要在Linux上执行Perl脚本,可以按照以下步骤操作:1. 打开终端。2. 在终端中导航到包含Perl脚本的目录。可以使用cd命令...
    99+
    2023-10-18
    linux perl
  • linux如何运行shell脚本
    要运行一个Shell脚本,可以使用以下方法:1. 在终端中直接键入脚本的路径和名称,例如:```/path/to/script.sh...
    99+
    2023-08-30
    linux shell
  • Linux shell脚本的建立与执行
    在进行linux测试时编写脚本是必不可少的。最近经常使用Linux,感觉太频繁地敲击键盘有些累了,于是想到了Shell脚本。可以把太多的命令写成一个脚本,这样每次执行一遍  shell文件,就可以省去了敲击键盘...
    99+
    2022-06-04
    linux shell脚本 linux shell脚本的建立与执行
  • Linux系统怎么执行Shell脚本
    小编给大家分享一下Linux系统怎么执行Shell脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1)bash script-name或者sh script-n...
    99+
    2023-06-28
  • Linux如何执行shell脚本完成任务计划
    小编给大家分享一下Linux如何执行shell脚本完成任务计划,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!导读众所周知,当前linux跑任务计划我们一般借助于crontab任务计划来实现。但这个任务计划默认最小单位为分钟...
    99+
    2023-06-05
  • jenkins如何实现shell脚本化定时执行任务
    这篇文章将为大家详细讲解有关jenkins如何实现shell脚本化定时执行任务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。开发需求socket连接的auction拍卖jar包服务更新重启前半小时切走ng...
    99+
    2023-06-26
  • 如何用PHP执行shell 脚本和 shell命令
    执行 shell 脚本: 或者首先使用 ssh2_connect 函数连接到远程主机,然后使用 ssh2_auth_password 函数进行身份验证。接下来,使用 ssh2_exec 函数执行 shell 脚本,将其输出流作为结果返回。...
    99+
    2023-08-31
    php linux 开发语言 Powered by 金山文档
  • nodejs脚本中执行shell命令
    nodejs脚本中执行shell命令 官方文档一:exec 方法执行shell命令1. _注意:2. _优点特性:3. _语法格式:4. _option对象属性:5. _示例: 二:spa...
    99+
    2023-08-31
    linux unix 服务器
  • 如何用shell脚本执行hadoop命令
    要使用shell脚本执行Hadoop命令,可以按照以下步骤操作:1. 创建一个新的文本文件,并使用任何文本编辑器打开它(如vi、na...
    99+
    2023-10-11
    hadoop
  • shell脚本如何防止重复执行
    shell脚本如何防止重复执行,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。代码如下:#!/bin/bash## file locking using bash...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作