实现以守护进程,定时检测openoffice是否退出,如果进程不存在,通过脚本将openoffice起起来即可。
 
具体操作步骤:

第一步:

将openoffice.sh脚本放置在root目录下面,(也可自行决定),如图所示:

脚本内容:

  1. #!/bin/sh
  2. #set -x
  3. OPENOFFICEPID=`ps -ef|grep "/opt/openoffice4/program/soffice"|grep -v grep|grep -v grep|awk '{print $2}'`
  4. if [ ! -n "$OPENOFFICEPID" ]; then
  5. echo "OPENOFFICEPID is empty"
  6. echo "start openoffice"
  7. /opt/openoffice4/program/soffice  -headless -accept="socket,host=127.0.0.1,port=8100;urp;StarOffice.Service"   -nofirststartwizard &
  8. else
  9. #kill all openoffice process
  10. # ps -ef|grep "/opt/openoffice4/program/soffice"|grep -v grep|grep -v grep|awk '{print $2}'  | xargs kill
  11. echo "OPENOFFICEPID is $OPENOFFICEPID is started!"
  12. fi
 

第二步:赋权限

chmoda+x openoffice.sh

第三步:编辑crontab文件

命令行输入:crontab –e

输入如下内容:*/5 * * * * /bin/sh/root/openoffice.sh  注:每5分钟执行一次此脚本,可以根据实际需要进行修改;

Wq保存退出;

文件编辑路径:

第四步:查看调度任务

crontab-l //列出当前的所有调度任务

如图所示:

验证:

通过

ps -ef|grep"/opt/openoffice4/program/soffice"|grep -v grep|grep -v grep|awk'{print $2}'  | xargs kill

此命令将openoffice所有进程杀掉,然后等待几分钟后查看openoffice是否重新启动:

ps -ef|grep/opt/openoffice4/program/soffice

关于cron服务知识:

1. 键入 crontab  -e 编辑crontab服务文件

例如 文件内容如下:

*/2 * * * * /bin/sh /home/admin/deleteFile.sh

保存文件并并退出

2. 查看该用户下的crontab服务是否创建成功, 用 crontab  -l 命令

3. 启动crontab服务

一般启动服务用service crond start;

4. 查看服务是否已经运行

ps和 servicecrond status都可以;

5. crontab命令

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

  crontab -l//列出某个用户cron服务的详细内容

  crontab -r//删除没个用户的cron服务

  crontab -e//编辑某个用户的cron服务

  比如说root查看自己的cron设置:crontab -u root -l

  再例如,root想删除fred的cron设置:crontab -u fred -r

  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root-e

  进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls>> /tmp/ls.txt

任务调度的crond常驻命令

crond 是Linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此

任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工

作便会自动执行该工作。

6. crontab命令选项:

-u指定一个用户

-l列出某个用户的任务计划

-r删除某个用户的任务

-e编辑某个用户的任务

如果需要编辑某个用户的定时执行任务,如weblogic用户的定时执行任务:

crontab -u weblogic –e

输入:*/1 * * * *ls >>/usr/tmp/ls.txt 保存退出:

 

删除weblogic任务时用:

7. cron文件语法:

分     小时    日       月       星期     命令

0-59   0-23   1-31  1-12     0-6     command    (取值范围,0表示周日一般一行对应一个任务)

记住几个特殊符号的含义:

“*”代表取值范围内的数字,

“/”代表”每”,

“-”代表从某个数字到某个数字,

“,”分开几个离散的数字

直接写/etc/crontab 文件内容不生效。

service crond reload/restart 也不生效。

查询原因为,直接写crontab文件时,需要指定执行用户,并且上面的环境变量不能删除。

如:

# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
*/1 * * * * root date > /root/test.txt

如果定时任务中不指定运行用户,如:

*/1 * * * * date > /root/test.txt

则不会执行此条命令。

3.服务重启
 1 /etc/init.d/crond restart
 2 service crond restart
 
4.cron日志
看 /var/log/cron.log这个文件就可以,可以用tail -f /var/log/cron
 
5.脚本的目录要放在:/home/super/openoffice.sh下
放在:/home/super/openoffice/openoffice.sh目录下执行出现错误:sudo: ./openoffice.sh: command not found
 
 
 

解决openoffice进程异常退出的办法:的更多相关文章

  1. 解决openoffice进程异常退出的办法

    步骤1 编写脚本 openoffice.sh #!/usr/bin/bash OPENOFFICEPID=`ps -ef|grep "/opt/openoffice4/program/sof ...

  2. Nginx问题定位之监控进程异常退出

    nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧. 1. 在error.log中查看是否有signal项,如果有,看看signal是多少. 比如,这是一个异常退出的情况 ...

  3. [典型漏洞分享]YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出【高危】

    YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出[高危] 问题描述: YS VTM模块开放对外监听端口(8554和8664),此次使用sulley fuzzing框架对监听在8664端口 ...

  4. MHA监控进程异常退出

    这两天遇到一个非常诡异的问题,打算和大家分享一下.只所以诡异估计是自己知识面不够吧.线上的MHA一直没有开启自动切换,都是手动切换的,最近开启了自动切换以后,退出securecrt窗口以后发现监控进程 ...

  5. MHA监控进程异常退出(MHA版本:0.56)

    最近遇到一个非常诡异的问题,mha后台进程自己中断退出了.以下是报错:Mon Dec 21 20:16:07 2015 - [info] OK.Mon Dec 21 20:16:07 2015 - [ ...

  6. Android native进程间通信实例-socket本地通信篇之——服务端进程异常退出解决办法

    导读: 好难受啊,为什么服务端说挂就挂,明明只是客户端关闭而已,服务端怎么能挂呢? 想想,如果手机上使用一个聊天程序的时候,手机端关闭了聊天程序,那么远端服务器程序总不能说挂就挂吧!所以一定要查明真相 ...

  7. nodejs进程异常退出处理方法

    1. 捕获uncaughtException process.on('uncaughtException', function (err) { //打印出错误 console.log(err); // ...

  8. 赤峰项目Nginx进程异常的处理办法

    #强制杀掉Nginxps -ef|grep nginx|grep -v grep|awk '{print $2}'|xargs kill -9rm -rf /usr/local/openresty/n ...

  9. 解决mac eclipse 异常退出后无法打开处于loading状态

    <workspace>\.metadata\.plugins\org.eclipse.core.resources目录,删除文件 .snap

随机推荐

  1. 1-27 awk 基本使用

    大纲: 色彩: awk基本使用 ##################################################### 一.色彩:shell中,设置输出文本色彩(前景色,背景色) ...

  2. 【Raspberry Pi】USB无线网卡自动连接

    Raspberry Pi 使用USB无线网卡的时候不会因为路由重启而掉线. #!/bin/bash while true ; do if ifconfig wlan0 | grep -q " ...

  3. Shell awk文本处理,shell脚本编写

    Shell awk文本处理,shell脚本编写 一:内容包含awk.变量.运算符.if多分支 <a>语法糖: awk [options] 'commands' files option - ...

  4. MySql设计规范及SQL索引优化【呕心之作】

    数据库及表结构基本设计规范 1. 所有表必须使用Innodb存储引擎 没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5. ...

  5. 011——数组(十一)array_merge array_merge_recursive array_change_key_case

    <?php /** */ //array_merge() 将多个数组合并,生成新数组.当键名相同时,后者覆盖前者 /*$array1=array('weburl'=>"bbs.b ...

  6. MySQL Block Nested-Loop Join(BNL)

    5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop).如果关联表的数据量很大,则join关联的执行时间会非常长.在5.5以后的版本中,MySQL通过引入BNL ...

  7. redis的String类型以及其操作

    Redis的数据类型 String类型以及操作 String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或 ...

  8. 微信小程序页面跳转方法汇总

    微信小程序前端页面跳转有多种方式,汇总如下: Tips: 小程序前端的页面跳转之后,跳转之前的页面并不会凭空消失,而是存进了一个类似“页面栈”的空间里: 只有当这个所谓的“页面栈”满了之后页面才会退出 ...

  9. jq的attr、prop和data区别

    prop()获取在匹配的元素集中的第一个元素的属性值. 大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled", ...

  10. [AirFlow]AirFlow使用指南二 DAG定义文件

    1. Example """ Code that goes along with the Airflow tutorial located at: https://git ...