最近看了一个问题,有同事在 suse环境下的/etc/init.d/boot.local 中,增加了一行脚本。

该脚本的简单大意如下:

#!/bin/bash
while [ ]
do
if [ $(ps -ef |grep -i java|grep -v grep|wc -l) -gt ]
then
echo "find java process"
break;
else
echo "can't find process"
sleep
continue;
fi
done

本来应该是最终走分支if的,但是运行发现,该脚本在java运行之后,也没能退出。

手工执行该脚本,也能正常退出,不会一直循环,那是什么原因导致的脚本不退出呢?

唯一的可能就是if条件不满足。

最后发现,要是条件判断满足,前提是,正常的runlevel,因为/etc/init.d/boot.local 这个脚本是由 /etc/init.d/boot 这个script 所启动的,而且是最后 boot script 工作完成要准备进入 runlevel 环境执行各项 rc script 前所执行。而 rh 的 /etc/rc.d/rc.local 脚本是 runlevel 环境执行各项 rc script 時最后一个阶段所执行的。

所以,哪怕最后进入了正常的runlevl,但是该脚本的运行环境中,ps -ef 和我们手工执行看到的ps -ef 是不一致的。

suse 关于使用 /etc/init.d/boot.local的问题的更多相关文章

  1. 为 suse linux 设置程序自动启动

    1.suse linux 程序自动启动 在部署面安装的的时候,重启之后需要去tomcat/bin/startup.sh 下面去执行启动脚本. 设置开机自动启动该服务    在 vim   /etc/i ...

  2. suse linux中apache+php服务器安装

    主站下载源码 tar zxvf httpd-2.2.4.tar.bz2cd httpd-2.2.4 ./configure --prefix=/usr/local/apache --sysconfdi ...

  3. Open SuSE 设置开关机时自动执行脚本

    在open SuSE中,有两个文件是用于存放开机自动执行命令的.这两个文件分别是: /etc/init.d/before.local /etc/init.d/after.local /etc/init ...

  4. suse下自动启动脚本

    suse下自动启动脚本 http://blog.csdn.net/herobox/article/details/8961358 suse下自动启动脚本 也许你对SUSE Linux很了解,也许你不太 ...

  5. suse enterprise Linux 11上配置 oracle11g和tomcat开机自启动

    一.oracle 11g r2自启动 1.修改/etc/sysconfig/oracle文件: ORACLE_BASE=/oracle  //此处改为你安装的oracle目录 START_ORACLE ...

  6. LV在系统重启后不能自动激活(boot.lvm&after.loca)

    同类相关文章:http://blog.csdn.net/laven54/article/details/9121661 最近发现suse11sp2的系统解决了异常死机的问题之后,又引入了另外的问题,比 ...

  7. mysql多实例的配置和管理

    原文地址:mysql多实例的配置和管理 作者:飞鸿无痕 多实例mysql的安装和管理 mysql的多实例有两种方式可以实现,两种方式各有利弊.第一种是使用多个配置文件启动不同的进程来实现多实例,这种方 ...

  8. linux概念之性能调优

    目前,对系统进行性能调试的工具有很多,这些可以两大类:一类是标准的分析工具,即所有的UNIX都会带的分析工具: 另一类是不同厂商的UNIX所特有的性能分析工具,比如HP-UX就有自己的增值性能分析工具 ...

  9. LINUX启动顺序

    Linux 启动顺序: 1. BIOS自检 (服务器硬件启动的第一步,坑定的啦) 2. 运行系统内核并检测硬件(这个是看系统了,redhat等相关版本是通过/boot/vm进行启动 vmlinuz) ...

随机推荐

  1. [UE4]复制引起的重复对象

    一.在角色的BeginPlay事件中,在角色正前方1米到2米处生成一立方体. 二.开启2个玩家,第一个创建是服务器端,第二个窗口是客户端.可以看到:服务器端窗口创建了2个灰色的立方体,客户端却创建了4 ...

  2. MySQL中授权(grant)和撤销授权(revoke

    MySQL 赋予用户权限命令的简单格式可概括为:   grant 权限 on 数据库对象 to 用户   一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant s ...

  3. Oracle Service Bus (OSB) 12c 的配置安装

    Oracle Service Bus (OSB) 12c 的配置安装 1.OSB配置环境: Oracle Database Oracle Fusion Middleware Infrastructur ...

  4. 【Jmeter自学】Linux环境下Jmeter运行

    ==================================================================================================== ...

  5. LeetCode 7 Reverse Integer & int

    Reverse Integer 想用余10直接算,没想到 -123%10 是 7, 原因 -123-(-123//10*10) r=a-n*[a/n] 以上,r是余数,a是被除数,n是除数. 唯一不同 ...

  6. Robot Operating System (ROS)学习笔记---创建简单的机器人模型smartcar

    搭建环境:XMWare  Ubuntu14.04  ROS(indigo) 转载自古月居  转载连接:http://www.guyuehome.com/243 一.创建硬件描述包 已创建catkin_ ...

  7. 关于thinkphp中post提交空白的思考

    关于thinkphp中post提交空白的思考 首选检查 目标路径是否存在 如果目标URL不存在 那肯定是空 如果提交的路径存储  TP这种完善的系统肯定会提示 各种报错了

  8. hive grouping sets 实现原理

    先下结论: 看了hive 1.1.0 grouping sets 实现(从源码及执行计划都可以看出与kylin实现不一样),(前提是可累加,如sum函数)他并没有像kylin一样先按照group by ...

  9. vmware使用vsphere的镜像

    vsphere镜像导出后可以使用vmware station打开, vsphere镜像导出时需要关机,否则会提示失败,有文件不能导出.

  10. Android中糟糕的AsyncTask

    上周做一个Android中的帧动画,因为每帧图片都比较大,所以采用每次读取一帧,延时再读取下一帧的方式实现.在读取的时候,采用AsyncTask,去设置ImageView的背景.但是发现需要切换帧动画 ...