最近看了一个问题,有同事在 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]下拉菜单

  2. 代码整洁之道Clean Code 读后感After Reading

    1.有意义的命名 名副其实,避免误导 做有意义的区分,简单明了2.函数 短小,职责单一 别重复自己3.注释 用代码来阐述 可怕的废话4.格式 垂直格式,垂直距离,空范围 横向格式,水平对齐,缩进5.错 ...

  3. OpenJudge 兔子与樱花

    [题解] 求任意两点间的最短路径.此题数据量较小,用Floyd算法,时间复杂度为O(n^3). 参考https://blog.csdn.net/qq_34594236/article/details/ ...

  4. Hibernate JPA 关联关系

    Hibernate JPA 关联关系: 使用cascade做级联操作(只有在满足数据库约束时才会生效): CascadeType.PERSIST: 级联保存,只有调用persist()方法,才会级联保 ...

  5. 屏蔽windows快捷键的方法

    using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using ...

  6. Hadoop 2.x常用端口及查看方法

    Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...

  7. c#线程间传递参数

    线程操作主要用到Thread类,他是定义在System.Threading.dll下.使用时需要添加这一个引用.该类提供给我们四个重载的构造函数(以下引自msdn).        Thread (P ...

  8. Android Studio设置自定义字体

    Android Studio设置自定义字体 (1)进入设置页面,File->Settings (2)自定义字体Editor->Colors&Fonts->Font (3)点击 ...

  9. JPA查询

    Pojo: UserDetails EntityManager: entityManager 1. Ceate Criteria CriteriaBuilder builder = entityMan ...

  10. JavaScript之函数,词法分析,内置对象和方法

    函数 函数定义 JavaScript中的函数和Python中的非常类似,只是定义方式有点区别. // 普通函数定义 function f1() { console.log("Hello wo ...