当前位置:  技术问答>linux和unix

求个脚本:ubuntu下脚本定时检测某个进程是否存在,不存在就启动

    来源: 互联网  发布时间:2016-11-18

    本文导语:  如题,我写了一个,不能运行,对脚本不了解 我就想实现定时的(比如每隔2分钟)去检查下我的程序还在不在 不在了就启动 目的是为了防止程序运行过程中退出了 | 一句话就搞定 pgrep programme || /etc/i...

如题,我写了一个,不能运行,对脚本不了解
我就想实现定时的(比如每隔2分钟)去检查下我的程序还在不在
不在了就启动
目的是为了防止程序运行过程中退出了

|
一句话就搞定
pgrep programme || /etc/init.d/xxxx start

|
2>&1 表示将标准错误重定向到标准输出,也就是两者成一块了

|
参考主席的
ps -ef|grep -v grep|grep "/root/bin/test" || /root/bin/test

|
脚本time.sh:

#!/bin/bash
exec=/usr/bin/helloworld #this is your exe file
pid=`ps -ef | grep $exec | grep -v "grep" | awk -F   {'print $2'}`
if [[ $pid == "" ]]
then
$exec
fi

运行crontab -e后在最后加入:
0/2 * * * * /...路径.../time.sh
然后保存退出

|
脚本time.sh:

#!/bin/bash
exec=/usr/bin/helloworld #this is your exe file
pid=`ps -ef | grep $exec | grep -v "grep" | awk -F  {'print $2'}`
if [[ $pid == "" ]]
then
$exec
fi

运行crontab -e后在最后加入:
0/2 * * * * /...路径.../time.sh
然后保存退出

|
不要把脚本名写成和你程序一样的名字
比如你的程序名字叫xxxxxx
比如你的程序这样启动/etc/init.d/yyyyyyy start
比如你的脚本是/path/zzzzzz.sh
脚本内容如下2句
#!/bin/sh
pgrep xxxxxx || /etc/init.d/yyyyyyy start

添加每2分钟执行 修改/etc/crontab 追加
*/2 * * * * root /path/yyyyyyy.sh >/dev/null 2>&1

甚至你可以直接把上面脚本那句命令写到crontab里

|
上面写错了  


不要把脚本名写成和你程序一样的名字
比如你的程序名字叫xxxxxx
比如你的程序这样启动/etc/init.d/yyyyyyy start
比如你的脚本是/path/zzzzzz.sh
脚本内容如下2句
#!/bin/sh
pgrep xxxxxx || /etc/init.d/yyyyyyy start

添加每2分钟执行 修改/etc/crontab 追加
*/2 * * * * root /path/zzzzzz.sh >/dev/null 2>&1

甚至你可以直接把上面脚本那句命令写到crontab里

|

这个就可以了
脚本里和cron计划任务记得写绝对路径,不然会不执行的

|
经常遇到ps -ef | grep processname时,会把grep自身的进程也grep出来。
以前一直继续grep一下:
ps -ef | grep processname | grep -v "grep"

后来看到一个简单的方法:
比如要grep helloworld这个进程,可以这样做:
ps -ef | grep [h]elloworld

对于变量:
procname=myprocess
ps -ef | grep [${procname:0:1}]${procname:1}

和大家分享~

    
 
 

您可能感兴趣的文章:

  • 请问soralis下怎么写脚本判断进程是否存在,不存在则启动?
  • 新手请问,检查某个指定文件是否存在于opt目录下,如果存在则把该文件名保存到文本文件里,用Shell脚本如何写?请简写代码供参,谢谢。PM5
  • find在脚本中做gzip压缩,何种情况下本身文件也存在
  • 在shell脚本中如何判断某个文件是否存在?
  • 用Shell脚本检查多个文件是否存在
  • 判断某个驱动是否存在的shell脚本怎麽写啊?
  • 如何在脚本中判断一个字符串是否存在于一个文件中?
  • shell脚本中存在类似C语言中的小括号来改变优先级的机制吗?
  • Shell实现判断进程是否存在并重新启动脚本分享
  • 判断文件是否存在的shell脚本代码
  • Linux下脚本如何实现以下功能描述?求救高手脚本问题
  • linux下如何用脚本从文件中得到我感兴趣的东西!熟悉linux下脚本的一定要看呀!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • centos系统运行脚本,显示bash进程,能否以脚本名字显示?
  • 请问: 在要想删掉进程名为"xxx"的进程,在shell脚本中该写什么啊?
  • UNIX下,如何写脚本来杀进程?如何在指定的时间自动运行脚本?
  • 求各位大神给一个 进程 自启动脚本
  • linux如何获取当前程序ID并用shell脚本停止进程
  • ssh到其他主机再kill进程脚本问题
  • 求一小脚本,查找进程号然后kill掉
  • 如何用shell脚本杀死指定名称的进程?
  • 使用脚本向进程发出命令
  • 关于进程监控脚本
  • Linux下关于用脚本启动进程的问题
  • 已知pid文件,实现杀死该进程的shell脚本怎么写?
  • 如何在脚本内新建一个进程来运行一个程序?
  • 根据名称杀掉daemon进程的shell脚本
  • 求助(SHELL 脚本)进程的唯一性检查
  • 写了个监控nginx进程的Python脚本
  • 如何编写一个sh脚本杀掉另一个进程!
  • linux系统使用python监控apache服务器进程脚本分享
  • 在一个驱动的启动脚本中加入对某个守护进程的判断,该如何写?
  • shell监控linux系统进程创建脚本分享
  • 红帽redhat下通过脚本和yum安装docker容器引擎的详细步骤
  • 脚本1调用脚本2,脚本2必须输入回车,如何在调用过程中自动输入回车
  • HTML 脚本语言介绍及<script>标签用法
  • 脚本中如何调用另外的一个脚本?
  • 脚本调用脚本出异常
  • shell 脚本中命令别名在脚本外无法使用
  • 想用shell脚本定时执行另一个脚本
  • 判断文件是否存在的shell脚本代码 iis7站长之家
  • 求救:修改系统启动脚本 不过脚本里面误写了阻塞命令
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • 定时跑脚本编译C文件就报错,手动跑脚本就编译成功了.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3