Linux的Web服务又挂了,这次用shell来解决它!

文章介绍了如何使用Linux的screen工具结合shell脚本来实现服务的监控。当服务挂起时,脚本会每5分钟检查一次,如果服务未运行则自动重启。作者分享了之前使用screen和nohup的方法,并提供了当前的脚本方案,以及一些关于Linux后台进程管理的命令,如nohup、jobs和ps等。

screen 的学习 : https://cloud.tencent.com/developer/article/1844735

真的的头大,早上起来一看,服务又挂了,这次用shell脚本来检测它运行,如果每5分钟检测一下,如果服务挂了就自动重启,这下要是还有问题就真的只能去改代码了,达咩呀!

一、之前的方法

https://blog.youkuaiyun.com/huibiannihao/article/details/105405245

用的screen然后用的nohup;

#  新建screen
screen -S hello
 
# 进入screen
screen -r hello
 
Ctrl+D  # 在当前screen下,输入Ctrl+D,删除该screen
Ctrl+A,D  # 在当前screen下,同时按Ctrl、A、D三个键,退出该screen
 
#  显示screen list
​​​​​​​screen -ls
 
# 连接状态为【Attached】的screen
screen -D  -r hello  # 解释:-D -r 先踢掉前一用户,再登陆 
 
# 删除指定screen, your_screen_name为待删除的screen name
​​​​​​​screen -S hello -X quit

二、当前脚本

https://zhuanlan.zhihu.com/p/599421452

然而就是莫名GG,直接用这个脚本定时检测重启算了

#!/bin/sh

while true

do

ps -ef | grep "temporaryfile" | grep -v "grep"
#查找系统中含有"temporaryfile"字符的进程,并且排除grep本身的进程。
if [ "$?" -eq 1 ]
#如果未运行
then

python3 /home/Ubuntu/xxxxxx.py
#启动应用,修改成自己的启动应用脚本或命令

echo "process has been restarted!"

else

echo "process already started!"

fi

sleep 60

done

三、命令收获

https://blog.youkuaiyun.com/u013123046/article/details/80610931

1、运行.sh文件

直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令。

(1)&命令

      功能:加在一个命令的最后,可以把这个命令放在后台执行

(2)nohup命令

      功能:不挂断的运行命令

2、查看当前后台运行的命令

有两个命令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的任务,换了终端就看不到了。而ps命令用于查看瞬间进程的动态,可以看到别的终端运行的后台进程。

(1)jobs命令

功能:查看当前终端后台运行的任务
jobs -l选项可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。

(2)ps命令
功能:查看当前的所有进程

ps -aux | grep "test.sh"    
#a:显示所有程序  u:以用户为主的格式来显示   x:显示所有程序,不以终端机来区分

3、关闭当前后台运行的命令

  kill命令:结束进程

 (1)通过jobs命令查看jobnum,然后执行   kill %jobnum

 (2)通过ps命令查看进程号PID,然后执行  kill %PID

   如果是前台进程的话,直接执行 Ctrl+c 就可以终止了

4、前后台进程的切换与控制

 (1)fg命令

   功能:将后台中的命令调至前台继续运行

   如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。

 (2)Ctrl + z 命令

   功能:将一个正在前台执行的命令放到后台,并且处于暂停状态

 (3)bg命令

   功能:将一个在后台暂停的命令,变成在后台继续执行

   如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

最后问题完美搞定,现在过一天再看看是否平稳运行哈哈! 溜了溜了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值