学习
实践
活动
工具
TVP
写文章

批量启动停止Java进程

java进程管理程序 命名:jmanager 主要功能:保存当前主机所有Java进程信息,停止Java进程,启动Java进程 解决的问题: 公司目前测试环境只有几台虚拟机,没有进行容器化管理,系统采用分布式架构 一旦虚拟机重启或者故障就要适用Jenkins重启打包部署非常耗时和麻烦,遂编写该脚本用于定时抓取Java进程启动信息, 一旦出现故障,可以批量停止Java进程或者批量启动Java进程。 mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com 如何操作: python3 main.py log 解释:记录当前所有java进程信息 ,产生以当前日志命名的进程数据文件 python3 main.py stop xxxx.json 解释:关闭所有Java进程 xxxx.json 为第一步产生的数据文件 python3 main.py start xxxx.json 解释:启动所有Java进程 xxxx.json 为第一步产生的数据文件 该脚本适用于所有java程序,可以安装在其他环境,但该脚本不负责程序启动或者停止顺序

50120

zabbix 通过 agent 监控进程、端口

环境介绍 操作系统:centos 7.4 zabbix版本:zabbix server 3.4.7 客户端:zabbix-agent 3.4.7 监控进程:mysqld 监控端口:3306 tcp 进程监控 确认客户端已经安装且运行agent 查看进程 查看属于那个用户的 几个进程 mysql 的进程为root用户 两个进程 添加监控项 名称随便写 类型zabbix客户端 键值选则进程数返回数 应用集选则 prosesses 进程 proc.num[<name>,<user>,<state>,<cmdline>] 以下是对mysql进程的监控配置,key中的参数说明, <name>第一个参数是进程名字, , zomb <cmdline>第四个参数用来指定进程名中包含的字符,对进程进行过滤。 稍等几分钟观察看看能不能触发触发器 收到邮箱警告 吧测试的进程改为正常的(因为mysql 运行的进程为两个我这变设置的触发器为进程小于两个进程就发出告警) 保存更新观察是否回复正常 监控端口

14720
  • 广告
    关闭

    年末·限时回馈

    热卖云产品年终特惠,2核2G轻量应用服务器6.58元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通用的停止进程bash脚本

    /bin/sh # http://code.google.com/p/mooon # 通用的停止指定名的进程 # 特色: # 1. 只会停止当前用户名下的进程 # 2. 可以指定命令行参数,可执行精准停止 # 检查参数 # 参数1:需要停止进程名或它的完整命令行或部分命令行 if test $# -ne 1; then printf "\033[1;33musage : $0 process_cmdline\033[m\n" exit 1 fi process_cmdline=$1    # 进程名或进程运行命令行 cur_user=`whoami`     # 当前用户 uid=`id -u $cur_user` # 用户ID # 取得进程名 process_name=$(basename `echo "$process_cmdline"|cut -d" " printf("%s\n", $2); }' uid=$uid cur_user=$cur_user process_cmdline="$process_cmdline"` # 循环kill掉所有的进程

    19510

    如何优雅地停止Java进程

    目录 理解停止Java进程的本质 应该如何正确地停止Java进程 如何注册关闭钩子 使用关闭钩子的注意事项 信号量机制 总结 理解停止Java进程的本质 我们知道,Java程序的运行需要一个运行时环境 因此,所谓停止Java进程,本质上就是关闭JVM。 那么,哪些情况会导致JVM关闭呢? ? 应该如何正确地停止Java进程 通常来讲,停止一个进程只需要杀死进程即可。 综上所述: 除非非常确定不需要在Java进程退出之前执行收尾的工作,否则强烈不建议使用kill -9这种简单暴力的方式强制停止Java进程(除了系统关机,系统Crash,断电,和Runtime.halt 3.关闭钩子执行过程中可能被强制打断,比如在操作系统关机时,操作系统会等待进程停止,等待超时,进程仍未停止,操作系统会强制的杀死该进程,在这类情况下,关闭钩子在执行过程中被强制中止。 实际上,大多数情况下的进程结束操作通常是在进程运行过程中需要停止进程或者重启进程,而不是等待进程自己运行结束(服务程序都是一直运行的,并不会主动结束)。

    2.9K31

    Hadoop启动,停止,与其中的守护进程的启动停止

    包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack stop-all.sh 停止所有的Hadoop守护进程。 start namenode 单独启动NameNode守护进程 hadoop-daemons.sh stop namenode 单独停止NameNode守护进程 hadoop-daemons.sh start datanode 单独启动DataNode守护进程 hadoop-daemons.sh stop datanode 单独停止DataNode守护进程 hadoop-daemons.sh start secondarynamenode 单独启动SecondaryNameNode守护进程 hadoop-daemons.sh stop secondarynamenode 单独停止SecondaryNameNode守护进程 start-mapred.sh 启动Hadoop MapReduce守护进程JobTracker和TaskTracker stop-mapred.sh 停止Hadoop MapReduce守护进程JobTracker和TaskTracker

    18130

    0547-CM Server和Agent服务停止脚本说明

    cloudera-scm-server和cloudera-scm-agent服务的最终停止脚本是通过服务的pid文件找到服务的找到服务的进程ID使用kill命令杀掉进程从而实现停止服务。 4 总结 1.在CDH5中,cloudera-scm-agent和cloudera-scm-server两个服务并未提供单独停止服务的脚本,但启动脚本中有相应的停止函数,是直接调用的kill进程的函数。 2.在CDH6中,cloudera-scm-agent和cloudera-scm-server两个服务也未单独提供停止服务的脚本,启动脚本中也没有停止函数。 4.对于CDH6,如果需要手动操作脚本停止服务,也可以参照CDH5版本的停止方式,通过kill的方式将进程停止。 本篇文章有个疑问,在RedHat7系统下,ExecStop参数未配置停止服务的脚本时,默认是通过什么方式停止服务的?是否和RedHat6一样也是通过kill进程的方式暴力停止

    74410

    【TcaplusDB知识库】TcaplusDB进程停止介绍

    【TcaplusDB知识库】TcaplusDB进程停止介绍 命令:stop ..., 其中,...指进程进程id,比如1.2.2.2, 1.2.1.2等,也支持简单的正则表达式,比如stop 1.2.2 .*, 那么只要匹配到1.2.2的进程id都会被停止;如下图所示: ---- 更多信息请关注TcaplusDB微信公众号,风里雨里,我们一直在等你!

    9240

    如何使用killall和kill命令来停止进程

    killall是一个基于名称终止系统上运行进程的工具。kill则是终止基于进程ID号(PID)的进程。kill和killall还可以向进程发送特定的系统信号。 相反,一个信号被发送到进程,如果进程接收到一个给定的信号,进程将有相应的指令。 使用ps命令查看当前正在运行的进程及其pid。 grep进程总是与自己匹配以进行简单的搜索,就像第二个结果一样。 注意 您可以使用命令ps auxf查看所有正在运行的进程的分层树。 考虑下面的命令: killall -w irssi 这个示例将SIGTERM系统信号发送给一个后台进程,该进程的名称与irssi匹配。killall将等待匹配的进程结束。

    1.3K30

    Linux离线环境下后台运行jar及停止进程

    下面把离线环境下运行jar遇到的问题以及解决方法汇总如下: 1、执行ava -jar 包名,运行正常,但是关闭终端,断开Linux服务器后就停止服务了。 (解决:采用后台运行方式) 2、后台方式运行后,不知道如何停止服务。(解决:查看服务端口,关闭进程) 3、查看服务端口的命令不执行,提示未找到命令。 .x86_64.rpm 安装: rpm -ivh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm 查看所有端口的占用情况: netstat -ntlp 杀掉进程

    6120

    使用 Ctrl+S停止输出而不用挂起前台进程

    /deadloop.sh > 首先可以看到重启后的输出序号与重启前的可以接上,所以中间并没有输出丢失,也就是说是进程被暂停了,而不只是输出停止了。 ('T'),而通过 Ctrl+S 停止进程状态为运行 ('S+')。 另一方面,我们启动 stap 探测进程间信号的收发,可以在 Ctrl+Z 停止进程时收到以下的输出: stap_signal.sh 22       events/3         16688 usleep 最后,可以使用 Ctrl+S 停止前台进程的前提是 必需打开终端的 IXON 标志,使用之前的小工具: [apue] 一个查看当前终端标志位设置的小工具 可以查看终端的输入 flag 是否已经打开了这个标志 如果再打开 IXANY 标志位,则使用任意键都可以重启被停止的输出,而不一定要使用 Ctrl+Q。 最后,还有一个隐藏的前提,就是被暂停的进程在前台有频繁的输出,否则 Ctrl+S 也无用武之地。

    8520

    排坑日记之批量从库IO进程停止处理

    ] Slave I/O thread exiting for channel '', read up to log 'mybinlog.001265', position 388024306 即非正常停止

    89420

    golang子进程的启动和停止,mac与linux的区别

    简单调试后就找到了原因,在系统中启动的子进程,发出终止信号之后居然仍在运行,导致父进程也一直无法退出,尴尬了。 这段代码启动子进程和关闭子进程在mac电脑的原有系统上工作都很正常,但是到了linux,启动子进程仍然没有问题,关闭子进程不成功。 检查了一下在linux的工作过程,发现启动子进程之后,实际上是启动了两个进程,一个进程是/bin/sh,随后sh又启动了一个子进程自身的子进程sleep。 另外一个办法则是直接为/bin/sh及我们的命令行进程建立一个进程组,这样最后发出的指令退出这个进程组,同样可以同时退出/bin/sh及sleep两个进程,达到我们的需求。 sh启动了另外一个子进程,这种方法就无效了(指在linux无效,mac测试是一样可以用的,关键区别同样是在mac,/bin/sh进程不会保留并等待我们启动的子进程退出,所以退出消息可以正常的发送到正常的子进程

    2.2K50

    java agent使用与agent内存马

    VirtualMachine类的attach(pid)方法可以将当前进程attach到一个运行中的java进程上,接着利用loadAgent(agentJarPath)来将含符合格式且含有agentmain 函数的jar包注入到对应的进程,调用loadAgent函数后,对应的进程中会多出一个Instrumentation对象,这个对象会被当作agentmain的一个参数。 对应进程接着会调用agentmain函数,进而操作Instrumentation对象,Instrumentation对象可以在class加载前拦截字节码进行修改,也可以对已经加载的class重新让它加载 ,并拦截且修改其中的内容,跟进程注入差不多,具体做什么操作,取决于我们的jar文件中的agentmain函数怎么写。 agent基础使用 环境搭建 agent项目源码 agent: package com.naihe; ​ import java.io.IOException; import java.lang.instrument

    17220

    cyborg agent

    cyborg agent提案 问题描述 Cyborg的需要一下功能:包括在计算机节点上管理代理,定位加速器,监控加速器状态和协调加速器驱动程序。 提议变更 cyborg agent驻留在各种计算机主机上,并监控对计算节点上的加速器进行监控。 如果某一个计算节点上加速器存在但没有设置,代理将通知conductor并建议手动检查。 用cyborg agent来监控加速器的状态并报告给conductor,并通过这些报告信息来帮助调度和操作。 Cyborg Agent将保留本地缓存数据,目的是在系统中断或连接丢失不会失去加速器状态。 cyborg agent具体内容 Cyborg代理将安装在正在或者可能会使用加速器的计算节点上。 实例连接: 一旦生成实例,需要连接到主机上的某个加速器,Cyborg服务器将向Cyborg代理发送消息,通知agent新实例。

    43950

    java agent使用与agent内存马

    VirtualMachine类的attach(pid)方法可以将当前进程attach到一个运行中的java进程上,接着利用loadAgent(agentJarPath)来将含符合格式且含有agentmain 函数的jar包注入到对应的进程,调用loadAgent函数后,对应的进程中会多出一个Instrumentation对象,这个对象会被当作agentmain的一个参数。 对应进程接着会调用agentmain函数,进而操作Instrumentation对象,Instrumentation对象可以在class加载前拦截字节码进行修改,也可以对已经加载的class重新让它加载 ,并拦截且修改其中的内容,跟进程注入差不多,具体做什么操作,取决于我们的jar文件中的agentmain函数怎么写。 命名为agent2 打包好的jar就在如下位置 修改MANIFEST.MF 老样子在前面添加 Premain-Class: com.naihe.agent Agent-Class: com.naihe.agent

    10010

    zabbix agent 部署

    /configure --prefix=/usr/local/zabbix-agent --enable-agent make &&make install #编译安装到本地硬盘 2.修改配置 cat zabbix-agent/ mkdir -p /www/zabbix/agent/6 mkdir /www/zabbix/agent/7 mv zabbix-agent.tar.gz /www /zabbix/agent/7/zabbix-agent.tar.gz 4 远程安装 curl -s http://zabbix.ops.net/agent/zabbix-agent_install.sh |bash wget -c http://zabbix.ops.net/agent/7/zabbix-agent.tar.gz #/www/zabbix/agent 目录下存放包 tar -xf 一键安装以编译的agent包 curl -s http://zabbix.monitor.com/agent/base_install.sh |sh salt: salt '*' cmd.run "

    71330

    mysql停止命令 停止mysql服务命令

    pid-file=/usr/local/mysql/data/Tencent_IM.pid --socket=/tmp/mysql.sock --port=3306 有点长,上面是我黏贴正在运行的mysql进程

    11.1K40

    停止复用

    文章起源于我对于模块化、微服务、Serverless 以及单体应用几种不同的架构模式的思考。而这其中的一个原因就是:人们经常从一个极端走另外一个极端。既然单体不...

    23640

    Java Agent 简介

    Manifest-Version: 1.0 Agent-Class: org.agent.AgentTest Premain-Class: org.agent.AgentTest Can-Redefine-Classes 三、运行你的 Agent 程序 Java Agent 程序写好了,怎么运行它呢? 3.2 主程序运行后加载 程序启动之后,通过某种特定的手段加载 Java Agent,这个特定的手段就是 VirtualMachine 的 attach api,这个 api 其实是 JVM 进程之间的的沟通桥梁 /lib/tools.jar</systemPath> </dependency> 因为是进程间通信,所以使用 attach api 的也是一个独立的Java进程,下面是一个简单的实现: AgentInitializationException { VirtualMachine virtualMachine = null; try { // 1100 是进程

    29230

    扫码关注腾讯云开发者

    领取腾讯云代金券