我的流程经常失败,有时会启动重复的实例。
运行时: ps x |grep -v grep |grep -c "processname"
我将得到: 2
这是正常现象,因为该过程与恢复过程一起运行。
如果我得到, 0
我将要开始以下过程: 4
我将要停止并重新开始该过程
我需要的是一种获取结果的方法 ps x |grep -v grep |grep -c "processname"
然后设置一个简单的3选项功能
ps x |grep -v grep |grep -c "processname"
if answer = 0 (start process & write NOK & Time to log /var/processlog/check)
if answer = 2 (Do nothing & write OK & time to log /var/processlog/check)
if answer = 4 (stot & restart the process & write NOK & Time to log /var/processlog/check)
该过程停止与 killall -9 process
该过程开始 process -b -c /usr/local/etc
我的主要问题是找到一种对的结果采取行动的方法ps x |grep -v grep |grep -c "processname"
。
理想情况下,我想使grep的结果成为脚本中的变量,如下所示:
process=$(ps x |grep -v grep |grep -c "processname")
如果可能的话。
脚本存储在其中,crontab
并且每分钟运行一次。
#! /bin/bash
case "$(pidof amadeus.x86 | wc -w)" in
0) echo "Restarting Amadeus: $(date)" >> /var/log/amadeus.txt
/etc/amadeus/amadeus.x86 &
;;
1) # all ok
;;
*) echo "Removed double Amadeus: $(date)" >> /var/log/amadeus.txt
kill $(pidof amadeus.x86 | awk '{print $1}')
;;
esac
0
如果找不到进程,请重新启动它。
1
如果找到过程,一切正常。
*
如果进程运行2个或更多,请杀死最后一个。
它只是测试出口标志$?
从pidof
程序。它将0
是正在运行的进程,1
如果没有运行。
#!/bin/bash
pidof amadeus.x86 >/dev/null
if [[ $? -ne 0 ]] ; then
echo "Restarting Amadeus: $(date)" >> /var/log/amadeus.txt
/etc/amadeus/amadeus.x86 &
fi
pidof amadeus.x86 >/dev/null ; [[ $? -ne 0 ]] && echo "Restarting Amadeus: $(date)" >> /var/log/amadeus.txt && /etc/amadeus/amadeus.x86 &
cccam oscam
问题内容: 查找进程aa.sh是否正在运行的linux命令是什么。ps命令似乎不起作用,并且不显示Shell脚本名称。 请指教。 问题答案: 检查一下
问题内容: 作为构建穷人看门狗并确保应用程序崩溃的一种方法(直到我弄清原因),我需要编写一个PHP CLI脚本,该脚本将由cron每5百万次运行一次,以检查该进程仍在运行。 基于此页面,我尝试了以下代码,但是即使我使用虚假数据对其进行调用,它也始终返回True: 接下来,我尝试了这段代码 … …但是没有达到我的期望: FWIW,此脚本与PHP 5.2.5的CLI版本一起运行,并且操作系统为uCli
问题内容: 我有一个可能位于Windows系统或Linux系统上的PHP脚本。无论哪种情况,我都需要运行不同的命令。 如何检测我所处的环境?(最好是一些PHP而不是聪明的系统技巧) 更新资料 为了明确起见,该脚本是从命令行运行的。 问题答案: 检查常量_Docs_ 的值。 它会给你不同的值在Windows一样,或。
我正在尝试创建一个bash实用程序脚本来检查docker守护程序是否在我的服务器中运行。除了运行这样的代码之外,有没有更好的方法来检查docker守护程序是否在我的服务器中运行? 我想创建一个bash shell脚本来检查我的docker守护进程是否正在运行。如果它正在运行,那么什么也不做,但是如果它没有运行,那么就启动docker守护进程。 我的伪代码大概是这样的。我正在考虑解析我的ps -ef
问题内容: 我有一个Node.js脚本所需的脚本,我想保持JavaScript引擎独立。 例如,我只想在Node.js下运行。如何执行此测试? 发布此问题时,我不知道Node.js模块功能是否基于CommonJS。 对于我给出的具体示例,一个更准确的问题是: 脚本如何判断是否已将其作为CommonJS模块使用? 问题答案: 通过寻求CommonJS支持 ,这是Underscore.js库的实现方式
问题内容: 我发现的唯一 好 方法是: (资料来源) 但这可靠吗?它适用于每个流程和每个发行版吗? 问题答案: 毕竟,Mark的答案就是解决之道,这就是/ proc文件系统在那里的原因。对于一些复制/粘贴的东西: