各位坐稳扶好,我们要开车了.不过在开车之前,我们还是例行回顾一下上期分享的要点. 项庄舞剑意在沛公,而咱们上期主要借助应用服务器 Resin 的源码,体验了一次 JMX 的真实应用.鉴于 9012 年的很多攻城狮从未接触过 Resin 应用服务器,咱们也没有挖的太深,点到为止. 今天我们说些什么?先抛个问题:“如何实现 Java 应用进程的状态监控,如果被监控的进程 down 掉,是否有机制能启动起来?” 你或许对问题本身还有点不解,暂不针对问题本身进行作答,先不妨一起体验体验 Resin 应用…
各位坐稳扶好,我们要开车了.不过在开车之前,我们还是例行回顾一下上期分享的要点. 上期我们抛了一个砖:“如何实现 Java 应用进程的状态监控,如果被监控的进程 down 掉,是否有机制能启动起来?”并结合 Resin 应用服务器背后启动的进程,更详细的阐述了一下问题. 我们依然不考虑自己怎么去实现,而是先看看 Resin 这款技术轮子,是不是按照我们的猜想设计的呢?是不是可以模仿一二? 好了,熟读唐诗三百首,不会作诗也会吟,抱着疑问,我们再深入一次 Resin 的源码,如果不感兴趣,或者脑仁疼…
各位坐稳扶好,我们要开车了.不过在开车之前,我们还是例行回顾一下上期分享的要点. 经过前两期的铺垫及烧脑的分享,我们大概对「如何实现 Java 应用进程的状态监控,如果被监控的进程 down 掉,是否有机制能启动起来?」问题本身有了一个新的认识,那这期我们不妨拿出攻城狮的绝招 Ctrl + C.Ctrl + V,从 Resin 源码中摘取一二,稍微简单实践一下. 按照图示,咱们先演示一下实践效果吧,首先找到并运行程序入口 MonitorApp,日志输出如下. 此时我们不妨在控制台输入 jps 命…
今天在处理一个机器异常负载(1000+)的问题,碰到了一个从未碰到过的情况,遇到了一个异常顽固的分子.我使用了所能想到的所有杀进程的方法,却始终无法干掉这个顽固分子,最后终于在谷歌大神的指引下,干掉了这个令我郁闷至极的顽固分子. 1.问题描述:系统:内核 2.6.32.43机器:web A web+NFS B机器负载超高,但是却可以正常登录,响应也很快 分析过程:1.通过top查看,发现CPU和内存都正常,swap使用过大 A机器:/usr/local # toptop - 11:01:29 u…
前段时间,一哥们,去杀Linux服务器的进程,发现kill命令失灵了,怎么杀都杀不死. 然后上网查了下资料,原来是要被杀的进程,成为了僵尸进程. 僵尸进程的查看方法: 利用命令ps,可以看到有标记为Z的进程就是僵尸进程. 知道了原因,就想怎么去把这个僵尸进程干掉.网上说了两种方法,一种最简单的方法,重启服务器,相当于清理内存了.方法很简单,但是不是很实用,因为服务器,不是你一个人在用,服务器是不能随随便便重启的.第二种方法,杀掉其父进程,父进程干掉后,该僵尸进程也就消失了. 可以用  ps -e…
paip.杀不死进程的原因--僵尸进程的解决.txt 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax 1. 产生原因: 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.通过ps命令查看其带有defunct的标志.僵尸进程是一个早已死亡的进程,但在进程表(processs table)中仍占了一个位置…
......上一节,我们编写了一个基本的lkm模块,从功能上来说它还没有rootkit的特征,这次我们给它添加一点有意思的功能.我们让一个指定的进程杀不死, 曾经,想写一个谁也杀不死的进程,进程能捕捉到SIGTERM,就是kill默认发送的signal,能捕捉到SIGINT,你平时按下Ctrl-C就是这个操作,但是无论如何你也无法阻止, SIGKILL,及终极杀人王火云邪神的必杀kill -9 pid. 作为一个小强,怎么能被现实如此的摧残,我们要对命运说不,so 有个几种解决方案,一中方案:两…
Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程 原因: 一般造成这种原因是因为项目中有非守护线程的存在: 解决方案: 一.从Tomcat上解决 方案1:(推荐的方案:因为一台机器里可能有很多tomcat,不能kill所有) 基本原理为启动tomcat时记录启动tomcat的进程id(pid),关闭时强制杀死该进程 (1),在tomcat/bin/catalina.sh脚本的代码前,加入以下语句: #####################################…
1.Viper是什么? Viper 是.NET平台下的Anno微服务框架的一个示例项目.入门简单.安全.稳定.高可用.全平台可监控.底层通讯可以随意切换thrift grpc. 自带服务发现.调用链追踪.Cron 调度.限流.事件总线.CQRS .DDD.类似MVC的开发体验,插件化开发 一个不可监控的微服务平台是可怕的,出了问题 难以准确定位问题的根源, Anno则提供了一套完整的监控体系,包括链路追踪.服务占用的系统资源.系统自身 CPU.内存.硬盘使用率实时可监控等等. 今天要说的是.ne…
1.简介 上一篇介绍了POM的基础理论知识和非POM方式写脚本,这篇介绍利用页面工厂类(page factory)去实现POM,通过查看PageFactory类,我们可以知道它是一个初始化一个页面实例的功能,在实例化该页面对象时候,也会一起实例化该页面的元素定位. 2.项目实战 在这里宏哥以百度首页登录的例子,如果用POM实现,在测试脚本中实际代码就几行. 2.1代码设计 1.先新建一个pageObjects包,然后在pageObjects包新建一个百度主页类:BaiduHomePage,代码设…
思路:拿到dex可执行文件,使用android执行 使用idea创建java类库,写相关逻辑代码 使用idea导出该类库jar包 使用android dx工具 将jar文件转换为dex可执行文件 dx --dex --output="$outputfilepath" "$filepath" 将xxx.dexpush到data/local/tmp目录下,并修改权限 adb push "$filepath" /data/local/tmp adb s…
转自:http://klob.diandi.life/?p=21#symple-tab-%e8%b0%83%e6%9f%a5%e5%af%b9%e8%b1%a1 情景还原: 我的应用调用了Notification,但是如果被流氓清理软件杀死,在有些机型出现Notification没有被抹除的情况,因为丧失了对Notification的引用,用户也无法抹除这个Notification,这将大大降低用户体验.于是,我想出了如果我的应用可以不死,主动清除Notification. 既然开始做了,干脆做…
这两天为了定位JBOSS老是挂死的问题,学习了一下JAVA多线程方面的知识,在此总结一下 1.在Java程序中,JVM负责线程的调度.线程调度是指按照特定的机制为多个线程分配CPU的使用权. 调度的模式有两种:分时调度和抢占式调度.分时调度是所有线程轮流获得CPU使用权,并平均分配每个线程占用CPU的时间:抢占式调度是根据线程的优先级别来获取CPU的使用权.JVM的线程调度模式采用了抢占式模式. 2.Thread类实际上也是实现了Runnable接口的类. 在启动的多线程的时候,需要先通过Thr…
目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常throws 2.4 捕获异常try-catch 2.4 finally 代码块 2.5 finally 代码块与return语句 2.6 异常注意事项 3.自定义异常 3.1 概述 3.2 自定义异常练习 4.来!和异常大干一场 @ 1.异常 1.1 异常概念 异常 :简单说就是不正常运行,最终导致JVM…
目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常throws 2.4 捕获异常try…catch 2.4 finally 代码块 2.5 finally 代码块与return语句 2.6 异常注意事项 3.自定义异常 3.1 概述 3.2 自定义异常练习 4.来!和异常大干一场 @ 1.异常 1.1 异常概念 异常 :简单说就是不正常运行,最终导致JVM…
tomcat在windows下可以直接关闭,但是貌似在Linux下有时候shutdown.sh 没有关闭tomcat进程:国庆前最后一天没事,解决你~~~~ 现象: 在Linux下shutdown.sh ,然后查看tomcat进程发现没有完全关闭: #查看tomcat进程是否关闭语句 ps -ef | grep tomcat 实验:(为什么原来在Linux下没有发现这个问题呢???) 实验一:   安装一个纯净的tomcat放在linux上,启动->查看tomcat进程->关闭–>查看t…
tomcat在windows下可以直接关闭,但是貌似在Linux下有时候shutdown.sh 没有关闭tomcat进程; 现象:在Linux下shutdown.sh ,然后查看tomcat进程发现没有完全关闭: #查看tomcat进程是否关闭语句 ps -ef | grep tomcat 实验:(为什么原来在Linux下没有发现这个问题呢???) 实验一:   安装一个纯净的tomcat放在linux上,启动—>查看tomcat进程—>关闭–>查看tomcat进程...........…
ส้้้้้้้้้้ส้้้้้้้้้้ส้้้้้้้้้ 1.程序猿最烦两件事,第一件事是别人要求他给自己的代码写文档,第二件呢?是别人的程序没有留下文档. 2.宪法顶个球!中国的法律都是.txt文件,不是.exe文件. 3.C++程序员看不起C程序员,C程序员看不起java程序员,java程序员看不起C#程序员,C#程序员看不起美工.周末了,美工带着妹子出去约会了,一群SX程序员还在加班. 4.问:如何生成一个随机的字符串?答:让新手退出VIM. 5.“我给你出个脑筋急转弯,你说达芬奇…
韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha  313134555@qq.com =========== Android 进程常驻(0)----MarsDaemon使用说明…
目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 坑后扩展 1.4.1 扩展知识 1.4.1 技术关键字 1.5 填坑总结 1.1 踩坑案例 踩坑的程序是个常驻的Agent类管理进程, 包括但不限于如下类型的任务在执行: a. 多线程的网络通信包处理 和控制Master节点交互 有固定Listen端口 b. 定期作业任务, 通过subprocess.Pipe执行shell命令 c. etc 发现坑的过程很有意思: a.重启Agent发现Port被占用了 => 立刻想到可能进程没…
1. 问题发现 [root@zwlbs3 ~]# top i. 发现有个进程CPU使用率居然700%,COMMAND 是一些随机的字符串组成,完了~ 中标了:第一想到就是“沙雕”它,kill 命令给我上. [root@zwlbs3 ~]# kill - "PID" ii. 但是发现 kill 该进程平静一会后又启动了. 注:老图复用,PID.COMMAND 都有变化. 2. 查看进程的详细信息 [root@zwlbs3 ~]# cd /proc// [root@zwlbs3 ]# ls…
1.简介 今天主要是讲解和分享:TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称的首字母排序来执行测试方法.但是有时,我们可能需要以特定顺序调用测试用例中的方法,或者可能希望在方法之间共享一些数据和状态. TestNG支持这种依赖关系,因为它支持在测试方法之间显式依赖的声明. 2.TestNG允许指定依赖关系 ①在@Test注释中使用属性dependsOnMethods ②在@…
之前处理过一次十字病毒,但未好好整理处理过程,现在转载一篇来自51cto的文章. 转自:http://blog.51cto.com/ixdba/2163018 十字符病毒,杀不死的小强,一次云服务器沦陷实录 一.现象 接到客户的电话,说自己的云服务器被提供商禁止访问了,原因是监测到网络流量暴满,服务器不停的向外发包,在确认客户没有业务量突增的情况下,初步判断可能服务器遭受了流量攻&击(DDOS),不过按照常理来说,客户的业务系统就是一个小的web系统,平时流量不大,影响力也一般,不至于遭受DDO…
今天同事给我发了个图片过来,  服务器环境 sql 2000 + IIS7 看到这张图片,我先自己试了下,确实是有这个问题的,而且不是偶然性的,那么再看报错意思,在跟sql建立连接的时候发生了一个错误. 我首先检查了配置文件有没有被改过,发现没有:我就在本地调试,发现本地不存在这个问题,于是我又看了下相关的代码文件有没有被改过,还是没有:那么是哪里出了问题呢?我只好上远程看看有没有什么限制远程访问 之类的东西,也没有:既然提到了远程连接,那我就把配置文件的sql连接地址改成 local 试下,一…
win10 .Net Runtime Optimization Service占用大量CPU资源解决方法 https://blog.csdn.net/cwg2552298/article/details/83855686   最近重装了 win10,发现有个进程在空闲时占用大量CPU资源,让我可怜的电脑 不停的工作……让我感到很烦,故希望将它关闭,但是它就像个杀不死的小强,任凭 我怎么结束过几秒又自动启动了? 遂开始调查这个烦人的进程. 转到详细信息发现是 mscorsvw.exe 进程,转到服…
问题 (1)线程类型有哪些? (2)线程模型有哪些? (3)各语言使用的是哪种线程模型? 简介 在Java中,我们平时所说的并发编程.多线程.共享资源等概念都是与线程相关的,这里所说的线程实际上应该叫作"用户线程",而对应到操作系统,还有另外一种线程叫作"内核线程". 用户线程位于内核之上,它的管理无需内核支持:而内核线程由操作系统来直接支持与管理.几乎所有的现代操作系统,包括 Windows.Linux.Mac OS X 和 Solaris,都支持内核线程. 最终…
江南好,何处异京华. 香散翠帘多在水,绿残红叶胜于花.无事避风沙. --<纳兰词> 诗词再好,大图不能忘 上大图: 先说说栈和队列: 栈就好比手枪的弹匣,你往里面压入子弹,最先压入的子弹就到了弹匣最底部的位置,最后压入的子弹在弹匣顶部.发射子弹的时候每次将弹匣顶部的子弹弹出发射.无法越过顶部子弹发射下面的子弹. 栈(stack)是限定仅在表尾进行插入和删除操作的线性表,LIFO 队列就跟上学那会儿排队打饭一样,但是不能加塞儿. 队列(queue)是只允许在队列一端进行插入操作,另一端进行删除操…
目录 1. 理解线程与进程 2.理解并行和并发 3.特殊的一个单线程:主线程(Main线程) 4. 创建多线程的四种方式 5.使用匿名内部类方式创建线程 6.线程安全问题 7.解决线程安全问题:线程同步 8.线程常用方法 9.线程的状态 10.线程池 就在前几天,有位读者朋友私信宜春,说期待出一篇多线程的文章,我当时内心是小鹿乱撞啊....于是这几天茶不思饭不想,好几天深夜皆是辗转反侧,两目深凝,以至于这几天走起路来格外飘飘然,左摇右晃的,魔鬼般的步伐,一般两步,走在大马路中央上差点被打~我承认…
--转自https://blog.csdn.net/oppo62258801/article/details/81434038 1.Linux查看所有Java进程 ps -ef | grep java | grep -v grep (是在列出的进程中去除含有关键字"grep"的进程) 2. 使用awk分割结果,获取PID awk '{print $2}' ps -ef | grep java | grep -v grep | awk '{print $2}' 3. 杀死进程 kill…
Java语言的个人理解(比价深层次吧) 大四的生活确实十分的奢靡,不锻炼,不读书,几乎就是当一天和尚撞一天钟的生活,太颓废了,还好自己不是这个样子,不过身体确实差了很多,昨天跑了一圈内环(4KM),今天就走不动路了,所以还是过一些比较充实的生活.还是回到学习上来吧,这一节主要的是“水”(粤方言)一下关于Java的宏观知识. 作为Java语言的爱好者,应该对于Java语言有着比较深入的认识,不但要认识到这门编程语言的优点,也应该关注他的缺点.这样才会让我们在实际的开发中避开这些缺点,或者是找一些其…