实现以守护进程,定时检测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. 11.深入理解读写锁ReentrantReadWriteLock

    protected final int tryAcquireShared(int unused) { /* * Walkthrough: * 1. If write lock held by anot ...

  2. iOS开发调试技巧总结(持续更新中)

    作者:乞力马扎罗的雪  原文 对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不 ...

  3. MySQL修改字符集编码

    通过修改字符集编码为utf8,彻底解决中文问题. 一. 登录MySQL查看用SHOW VARIABLES LIKE 'character%':下字符集,显示如下: +----------------- ...

  4. Zabbix在CentOS7上的安装方法:

    ).zabbix-server 要安装zabbix-server首先需要安装MySQL数据库,当然你可以将MySQL换成其他的数据库 1.1)创建zabbix数据库:CREATE DATABASE z ...

  5. 【zznu-夏季队内积分赛3-J】追忆

    题目描述 “别人总说我瓜,其实我一点也不瓜,大多数时候我都机智的一批“现在是阳历2018/8/7,宝儿姐想起自己参加ACM整整1000天了.她想知道她刚入坑是什么时间.那么问题来了,请帮宝儿姐追忆一下 ...

  6. hdu 6114 chess(排列组合)

    Chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. LINUX系统下的数据库的管理

    环境:配置好IP和YUM源  一.数据库的安装及密码的修改 [1]yum  install  mariadb-server  -y       ##安装mariadb数据库 [2]systemctl  ...

  8. js 删除数组的指定元素

    //为数组对象增加相应的的方法,直接调用数组的removeByValue方法即可删除指定元素 Array.prototype.removeByValue = function (val) { for ...

  9. zabbix安装收获-WARNING: 'aclocal-1.14' is missing on your system

    zabbix server已经安装成功了,在server端也安装了一个agent,一切OK. 在另外一台pg节点上安装zabbix agent时,报错: WARNING: 'aclocal-1.14' ...

  10. R︱Yandex的梯度提升CatBoost 算法(官方述:超越XGBoost/lightGBM/h2o)

    俄罗斯搜索巨头 Yandex 昨日宣布开源 CatBoost ,这是一种支持类别特征,基于梯度提升决策树的机器学习方法. CatBoost 是由 Yandex 的研究人员和工程师开发的,是 Matri ...