`
java-mans
  • 浏览: 11389621 次
文章分类
社区版块
存档分类
最新评论

OSSCE脚本引发的重大问题,记在这里以示警戒

 
阅读更多

今天发生的一件大事,早上9点多,在线服务的机器有一半不能访问了。结果查看大多数的java进程被杀死,jboss服务器停掉。也有的机器其它服务被停止。

最初怀疑是被入侵了。因为同时发生状态一致的宕机,除非是时间BUG,否则如何那么多机器都同时停止(已经排除人为操作原因)。

最后和安全部门联系,是否有统一的操作,结果他们反映地那个时间段统一停止了安全模块OSSCE,但它为什么会导致JAVA应用和其它服务停止呢?

最后分析OSSCE的启动脚本,才发现问题的所在:

这个很烂的脚本在启动时开了一个lock,它不象其它软件都是以进程或模块名为文件名的,比如mysql.lock.这个烂人写的脚本是以OSSCE当前进程的进程ID为文件名,比如当前进程ID为3333,则生成3333.pid,里面的内容就是进程ID。

TMD的,如果你非要以进程号作为文件名你直接touch一个0字节的文件从文件名就可以获取这个文件表示的进程ID了。还多此一举再往文件中写进程号。

关键是这个烂程序经常会自动crash.所以没有调用stop,也就没有调用清除文件的命令。经过多次自动crash,多次手工重启后,在一个目录下留下大量的以进程号为文件名的文件。原来的进程号如果积累多了就和当前系统中很多进程的进程号相同。因为之前都是自动crash然后被重启的,所以没有手工调用stop,这次手动调用stop时,一次性清楚目录中留下来的大量的以前的$PID.pid的文件同时根据文件中的pid(其实就是和文件名中的$PID一致)一个个去kill,结果把当前进程中的很多进程给杀死了。

找到问题,但后续工作很麻烦,那么多的机器,到底哪台机器的哪个进程被杀掉,无法统计。只能一一重启。

这个烂人,你就不会以一个固定文件名为lock,然后每次向其中写入当前pid吗?真是脑残啊。还特别在stop时写个脚本列举目录下的所有文件,要是用一个固定文件名用得着列举所有文件吗?

分享到:
评论

相关推荐

    Friends 老友记 (1-9季)脚本 CHM

    想学习英语的朋友,赶快来吧,friends 1-9季 全脚本 CHM

    按键精灵西游Q记脚本

    按键精灵西游Q记脚本按键精灵西游Q记脚本按键精灵西游Q记脚本

    非常强大MsCode脚本编译器教程,记录并生成自动安装程序路径文件.

    MsCode脚本编译器脚本录制步骤(以迅雷为例): 1.录制新脚本 点击录制新脚本。 2.软件配置 这里的软件名称没有任何讲究,随便输入。 点击选择指定安装程序的路径,然后点击下一步。 3.脚本录制 比如我想...

    一个脚本引发的血案.docx

    一个脚本引发的血案.docx

    SQL脚本批量执行脚本

    此BAT脚本可以帮助开发人员将某文件夹下所有SQL脚本按文件名依次在指定数据库中批量执行。并且生成日志文件,可查看执行过的所有脚本名称和错误信息。 注意: (1) 使用前需确保已将sqlcmd加入到系统环境变量中。 (2...

    脚本引擎 脚本解析器

    author:ListenWind ...c 语言模式脚本解析器,脚本执行不是其目的。其作用是对PE文件进行编辑。暂且不论。 现在仅支持 if关键字、以及一些+-/* && || 等常规操作。...代码照样没释放内存,存在内存泄露问题。

    Windows 脚本技术参考手册

    Windows 脚本技术参考手册(CHM) 目录: Windows 脚本技术 <br> Windows 脚本技术 <br> JScript VBScript 脚本运行时 <br> Dictionary 对象 FileSystemObject 对象 脚本 Encoder ...

    linux基线检查脚本,基线核查脚本,基线核查

    分享一个linux基线检查脚本,基线核查脚本。 解决人工做极限核查太麻烦,枯燥等问题。 提高工作效率,提高工作质量。 下面简单介绍一下基线,基线扫描的内容。最后就是重磅大戏,自动化脚本,相信大家都喜欢用脚本...

    自动输入脚本 -- 解决禁止粘贴问题

    Python自动输入脚本 主要解决网站禁止粘贴问题 内附有使用方法

    sql 经典脚本 非常全面 共11章 非常好的示列

    sql 经典脚本 非常全面 共11章 非常好的示列

    STW脚本和Assa脚本指令详解

    STW脚本和Assa脚本指令详解 《STW脚本和Assa脚本指令详解》电子书由渔人制造收集制作,部分内容顺序为了阅读方便做了必要的调整,在此特别说明并向原作者致歉。    

    基恩士伺服位置示教脚本库

    基恩士伺服位置示教脚本库

    跨站点脚本编制问题解决

    基于OWASP组织提供的WEB项目中跨站点脚本编制问题解决方案。添加了pom依赖及相关jar包,适合在java web项目中使用!

    短视频营销:撰写短视频脚本.pptx

    以《有人偷偷爱着你》中“汽车车主与骑三轮车的老人”这一段内容中的部分内容为例,撰写短视频分镜头脚本,其中主要包括镜号、画面内容、景别、运镜方式、 时长、音效等内容,如下表所示:;任务导入;

    发帖脚本脚本 自动 发帖

    脚本 自动 发帖脚本 自动 发帖脚本 自动 发帖脚本 自动 发帖脚本 自动 发帖脚本 自动 发帖

    TRACE32软件的Practice脚本 cmm脚本.zip

    标准Practice脚本的扩展名是.cmm,因此有人也称之为cmm脚本 Practice脚本是Lauterbach公司提供的一种脚本语言,运用于其TRACE32软件当中,非常容易上手、并且功能强大。 我在文章...

    Windows下MySql自动备份脚本(有备份日志,且可以删除历史备份)

    该脚本支持日志功能,在备份成功或是失败都会讲日志信息写入到数据备份目录下的MySQLBackLog.txt文件中,如果在备份过程中存在错误,没有备份成功的数据库会写入到具体的备份目录下的__error.txt文件中,以方便手动...

    NSIS脚本实例NSIS脚本实例

    NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例

    大麦网抢票脚本【Python脚本】

    Python脚本,使用Selenium 模拟浏览器操作。 在使用 Chrome 浏览器,用户可以使用鼠标滑动、按键点击以及键盘输入,作为信号输入设备向浏览器传达指令,浏览器收到指令后执行渲染。 这里提到的 Selenium WebDriver ...

Global site tag (gtag.js) - Google Analytics