当前位置:首页 » 编程软件 » 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-05-16 00:11:49 浏览:10
安卓游戏旧版本从哪个软件下载 发布:2025-05-16 00:00:20 浏览:329
连接聚类算法 发布:2025-05-15 23:55:09 浏览:978
工资算法单休 发布:2025-05-15 23:52:30 浏览:819
超凡先锋配置不行怎么办 发布:2025-05-15 23:27:54 浏览:532
win7取消加密 发布:2025-05-15 23:26:37 浏览:472
不用internet打开ftp 发布:2025-05-15 23:06:00 浏览:154
sql字符串取数字 发布:2025-05-15 22:57:45 浏览:125
推荐编程课 发布:2025-05-15 22:34:12 浏览:618
表拒绝访问 发布:2025-05-15 22:29:37 浏览:978