当前位置:首页 » 编程软件 » shell脚本监测进程启动

shell脚本监测进程启动

发布时间: 2022-08-30 16:41:59

① shell脚本判断是否有某进程在运行

1 、可以通过ps命令获取所有的进程,然后通过awk命令提取进程名,再用grep提取相应的进程名即可。

2、参考代码如下:

ps-aux|awk'{print$11}'|grep"^$1">/dev/null
case$?in
0)
echo"findprocess$1"
;;
1)
echo"$1isnotrunning"
;;
*)
echo"unknowerror"
esac

3、运行结果如下

② 在安卓shell脚本中如何让它一直运行判断一个进程是否存在。 比如QQ进程 存在的话不进行任何操作

如果你是通过一个进程的名字作为关键词来查找进程是否存在的话,可使用
ps -ef | grep "<关键词>" | wc -l
输出为0表示不存在,输出大于0,表示存在,且数字就是这个关键词进程的个数;

如果你是通过进程号PID来查找进程是否存在,可以使用
ps --no-heading <PID> | wc -l
同样,
输出为0表示不存在,输出=1,表示存在,因为进程号不可能重复,所以输出肯定非0即1

③ 如何编写一个shell脚本实时的查看某个进程

如果进程名字是复杂且唯一的那只需要使用grep做简单匹配,使用下面命令:

ps-ef|grep-vgrep|grep'进程名字'&&echo'正在运行'||echo'已停止运行'

④ 怎么获取shell在控制台执行的进程id

当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。

在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。
在bash中,子shell进程的PID存储在一个特殊的变量‘$$'中。这个变量只读,你不可以在脚本中修改它。比如:

复制代码代码如下:

#!/bin/bash
echo "PID of this script: $$"

上面的脚本会得到下面的输出:

复制代码代码如下:

PID of this script: 6583

除了$$, bash shell还会导出其他的只读变量。比如,PPID存储子shell父进程的ID(也就是主shell)。UID存储了执行这个脚本的当前用户ID。比如:

复制代码代码如下:

#!/bin/bash

echo "PID of this script: $$"
echo "PPID of this script: $PPID"
echo "UID of this script: $UID"

输出是:

复制代码代码如下:

PID of this script: 6686
PPID of this script: 4656
UID of this script: 1000

上面输出中,PID每次执行都会变化。这个因为每次运行都会创建一个新的shell。另一方面,PPID每次都会一样只要你在同一个shell中运行。

对于所有bash内置变量列表,参考man页。

复制代码代码如下:

$ man bash

⑤ 求帮忙写一个shell脚本,监控进程的。

#!/bin/sh
ps -ef | grep -v grep || grep -w 'java -jar /opt/mcb/scap/bin/ftp.jar monitor'
if [ $? -eq 0 ]; then
echo "start"
else
java start
fi

⑥ shell 检测某一个进程是否存在

#!/bin/bash

pid=`ps -ef | grep "想要监控的程序名"|wc -l`

if [ -gt $pid ]
then
echo "is running"
else
echo "not running"
fi

⑦ shell 脚本检测当前脚本已在执行则kill

sh /usr/local/sbin/gdas/start.sh
改为
source /usr/local/sbin/gdas/start.sh
用sh方式去执行就是另开一个shell去跑,相当于是异步的,不等start.sh执行完就执行下面的判断了。用source在当前shell执行该脚本,就是阻塞方式,就不存在此问题了。
建议先手动执行脚本,检验无误了再加入crontab

⑧ shell脚本如何判断应用程序是否开启正常

你应该自己问自己一个问题,何所谓正常打开,正常打开的话有什么特征?能回答这个问题就可以解决这个问题了。

反正我是不明白什么叫“正常打开”。如果加入到进程表就算正常打开的话,可以考虑楼上ps的做法。

热点内容
浙江电脑服务器租用虚拟主机 发布:2025-02-09 00:29:48 浏览:76
安卓网在哪里 发布:2025-02-09 00:29:36 浏览:391
汇编语言调用c语言 发布:2025-02-09 00:19:25 浏览:335
网络编程http 发布:2025-02-09 00:18:33 浏览:62
php的点餐系统 发布:2025-02-09 00:17:03 浏览:600
安卓区转苹果区会发生什么 发布:2025-02-09 00:16:26 浏览:131
c语言编译完怎么执行 发布:2025-02-09 00:16:16 浏览:27
AMD平台对应的C编译器 发布:2025-02-09 00:15:35 浏览:68
行李箱的密码锁哪里修 发布:2025-02-08 23:58:14 浏览:531
c语言字母ascii码表 发布:2025-02-08 23:55:49 浏览:838