美文网首页
Linux bash中判断命令的执行状态、PID、CMD

Linux bash中判断命令的执行状态、PID、CMD

作者: 疾飞 | 来源:发表于2019-05-30 00:10 被阅读0次

Precondition:

1.使用$?获取上个命令的执行状态,
若上个命令执行成功,则会返回0,若不成功,则返回值不为0

2.根据进程PID查找命令CMD
ps -ef | grep $CMD | grep -v grep | awk '{print $2}'
ps -p $PID -o comm=

3.根据执行的命令CMD查早命令的PID
pidof $CMD
pgrep $CMD
ps -C $CMD -o pid=

PS:
有没有发现ps这个命令真是无解,你可能想看看linux系统进程管理


有了以上,再加个判断

if [ $? -eq 0 ]; then
        echo "Exe Success"
else
        echo "Exec failure"
fi

如果想程序一直运行,可以这么来

#!/bin/bash
#############
##  deamon  ##
############
while true :
do

CMD=/home/summer/ss
Xstat=`pgrep $CMD | wc -l`

if [ Xstat != 0 ];then
        echo "$CMD is starting"
        `$CMD`
else
        echo "$CMD is runing"
fi
        sleep 10
done


Reference:

linux下监视进程 崩溃挂掉后自动重启的shell脚本

PS:

用shell脚本监控进程是否存在 不存在则启动的实例

相关文章

  • Linux bash中判断命令的执行状态、PID、CMD

    Precondition: 1.使用$?获取上个命令的执行状态,若上个命令执行成功,则会返回0,若不成功,则返回值...

  • bash函数内判断命令执行结果并返回

    bash函数内判断命令执行结果并返回 需求背景 在bash编程中,经常会需要执行对命令的结果判断,如果正确继续执行...

  • git 命令

    bash入门(了解) bash是许多linux系统默认的shell(命令行工具)。 cmd和powershell是...

  • 2022-07-01 【转载】【bash】关于shell中 ba

    记录一个linux知识点【bash】关于shell中 bash -c 执行命令或者可执行文件https://blo...

  • SSH登录命令

    命令是在git bash里执行的, 在cmd中执行显示ssh-copy-id不是内部命令(有可能是因为还需要再配环...

  • Linux的基本命令一

    一、Linux终端 windows下的cmd在Linux中叫做终端(Terminal),命令都是在终端内执行的 二...

  • linux系统常用命令

    Win10 linux子系统通过bash命令进入 日期时间命令 cmd :date desc:查看当前系统时...

  • Linux的命令优先级

    Linux中的bash命令行 shell中可执行的两类命令 内部命令:由shell自带的,而且通过某命令形式提供 ...

  • 项目启动中报错Address already in use: b

    启动项目的时候报错端口被占用: 拿到被占用的端口号: 打开CMD执行命令 拿到PID "3756"; 再执行命令 ...

  • 命令行基础

    基础概述 哪些系统提供了命令行 Windows 的命令提示符(CMD)和 Git Bash 是命令行Linux(如...

网友评论

      本文标题:Linux bash中判断命令的执行状态、PID、CMD

      本文链接:https://www.haomeiwen.com/subject/gmhrzqtx.html