实现以守护进程,定时检测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. SpringAOP源码分析总结

    1.Advisor(增强器):充当Advice和Pointcut的适配器,类似使用Aspect的@Aspect注解的类(前一章节所述).一般有advice和pointcut属性. 祖先接口为org.s ...

  2. hadoop1.2.1伪分布模式安装教程

    1:软件环境准备 1.1Hadoop: 我们使用hadoop Release 1.2.1(stable)版本,下载链接: http://mirrors.ustc.edu.cn/apache/hadoo ...

  3. IOS-相机、相册

    // // ViewController.m // IOS_0301_相册和相机 // // Created by ma c on 16/3/1. // Copyright © 2016年 博文科技. ...

  4. vue中element 的上传功能

    element 的上传功能 最近有个需求,需要在上传文件前,可以进行弹窗控制是否上传upload 看完文档后,感觉有两种思路可以实现 基于before-upload :上传文件之前的钩子,参数为上传的 ...

  5. Python -- 使用pickle 和 CPickle对数据对象进行归档和解析

    经常遇到在Python程序运行中得到了一些字符串.列表.字典.对象等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据. 这个时候Pickle模块就派上用场了,它可以将对 ...

  6. 023——VUE中数据排序sort() / 数据反转 reverse() 的使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. WebLogic和Tomcat

    J2ee开发主要是浏览器和服务器进行交互的一种结构.逻辑都是在后台进行处理,然后再把结果传输回给浏览器.可以看出服务器在这种架构是非常重要的. 这几天接触到两种Java的web服务器,做项目用的Tom ...

  8. LeetCode OJ:Number of Islands(孤岛计数)

    Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...

  9. 程序包需要 NuGet 客户端版本“2.12”或更高版本,但当前的 NuGet 版本为“2.8.50313.46”

    由于安装install-package newtonsoft.json 会出现需要 NuGet 客户端版本“2.12”或更高版本来安装,于是换成旧版的newtonsoft.json   PM> ...

  10. windows的虚拟磁盘(vhd,vhdx)使用

    以前一直使用u盘或者移动硬盘接上usb直接拷贝文件,发觉速度一般.而且一般只有一个盘,分类也很不方便. 后来发现windows的虚拟磁盘可以解决我的问题... 经过一段时间的使用后发觉使用虚拟磁盘的方 ...