Linux下的tomcat的停止脚本shutdown.sh经常失败,造成tomcat进程没关闭。所以只能手动查找进程id,然后用kill命令来强制停止。每次都要这样查一下,然后再杀进程。感觉有点麻烦,所以就把这个动作写在了脚本里面。    

一、思路

     这个脚本其实就2步,先获取进程id,然后 kill 掉这个进程。
(1)获取进程id的方法
    这个可以用 awk命令来获取
ps -ef | grep 你的进程 | grep -v grep | awk '{print $2}'
1
1
 
1
ps -ef | grep 你的进程 | grep -v grep | awk '{print $2}'
        这里要把这个grep这个用 -v 来过滤掉,然后用awk命令,提取第2个参数就是进程id了
(2)杀进程方法
     这个就直接kill -9 进程id 就ok了
kill -9 你的进程id
1
1
 
1
kill -9 你的进程id

二、脚本代码

    代码如下(/root/tomcat-instance/shutdown_sp.sh):
sp_pid=`ps -ef | grep sp-tomcat | grep -v grep | awk '{print $2}'`
if [ -z "$sp_pid" ];
then
echo "[ not find sp-tomcat pid ]"
else
echo "find result: $sp_pid "
kill -9 $sp_pid
fi
8
 
1
sp_pid=`ps -ef | grep sp-tomcat | grep -v grep | awk '{print $2}'`
2
if [ -z "$sp_pid" ];
3
then
4
 echo "[ not find sp-tomcat pid ]"
5
else
6
 echo "find result: $sp_pid "
7
 kill -9 $sp_pid
8
fi
        注意:使用时,需要把第一行的 sp-tomcat 替换换成你希望杀的进程
        说明:可能有人会说查找进程出现多个进程id时,脚本会报错的。其实是不会的,出现多个进程id时,他们之间是有空格隔开来了的。刚好kill命令一次杀多个进程时,进程id需要用空格。所以不需要用for循环来杀进程

Linux下查找进程id并强制停止进程的脚本的更多相关文章

  1. Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令

    Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令 今天写sh脚本发现一终止命令程序就停止运行了,检查了很久才发现后面少了个&字符导致的!错误写法:nohup ...

  2. 性能测试分析过程(三)linux下查看最消耗CPU/内存的进程

    linux下查看最消耗CPU  内存的进程 1.CPU占用最多的前10个进程:  ps auxw|head -1;ps auxw|sort -rn -k3|head -10  2.内存消耗最多的前10 ...

  3. vim linux下查找显示^M并且删除

    linux下 ^M的输入方法是ctrl+v然后再ctrl+m vim下在文件中显示^M:e ++ff=unix % 在文件中删除^M:%s/^M$//g 在linux下查找^Mfind ./ | xa ...

  4. linux下查找可执行文件

    linux下查找可执行文件 ls -F|grep "*" 我们来看看ls -F的作用: -F开关对可执行文件添加一个*号,为目录添加一个/号,为符号链接添加一个@号. http:/ ...

  5. Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50

    Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50 分类: 系统运维 查找包含BOM头的文件,命令如下: 点击(此处)折叠或打开 grep -r -I -l ...

  6. linux下查找文件

    1,find 经常在linux下工作,总要查找一些文件,于是就搜索的学习了一下 find 指定目录 指定条件 指定动作 举例:find . -name "my*" 查找 当前目录下 ...

  7. linux下查找指定后缀的文件

    1.linux下查找指定后缀的文件 例如查找当前目录下的所有后缀名时.c或.h的文件 find  .  -type f -regex  ".*\.\(c\|h\)"

  8. 在Linux下查找文件内容包含某个特定字符串的文件

    如何在Linux下查找文件内容包含某个特定字符串的文件? 我的目录下面有test1和test2两个文件夹,里面都含有很多文件,其中test2里面还包含一个test文件夹 我想请问的是,如何通过查找关键 ...

  9. linux下查找文件中空行的行号

    linux下查找文件中空行的行号 linux下查找文件中空行的行号 以aa.txt举例: 方法1:sed -n '/[a-zA-Z0-9@#$%^&*]/!=' aa.txt 方法2:grep ...

随机推荐

  1. loadrunner 运行脚本-命令行运行脚本

    Loadrunner 运行脚本-命令行运行脚本   by:授客 QQ:1033553122 脚本所在目录 Run-time Settings->Additional Attributes设置   ...

  2. udev和devfs的区别

    devfs(设备文件系统)是由Linux2.4内核引入的,它的出现主要使得设备驱动程序能够自主管理自己的设备文件.具体来说,devfs具有如下优点: 可以通过程序在设备初始化时在/dev目录下创建设备 ...

  3. 安全之路 —— C/C++实现利用添加注册表项实现文件自启动

    简介 添加注册表项是实现文件自启动的经典方法之一,但因为操作注册表项是一个敏感操作,被报毒可能性较大,但即便如此,这个方法还是值得一学的,因为后期大部分编程都涉及到注册表操作. 最常使用到的注册表项有 ...

  4. Hybris 用户注册的时候何如添加指定的用户组

    主要逻辑:xxx.service.impl.ConsultantServiceImpl public class ConsultantServiceImpl extends DefaultCustom ...

  5. C# show和showdialog区别

    简单地说他们的区别就是show弹出来的窗体和父窗体(上一个窗体的简称)是属于同一等级的,这两个窗体可以同时存在而且可以随意切换,但是showdialog弹出来的窗体就不能这样,他永远是被置顶的,如果不 ...

  6. 780. Reaching Points

    idea: 1.从后向前找 2.while (tx > ty) tx -= ty; 替为 % 操作 3.经过循环后,必定只有两种情况才true sx == tx && sy &l ...

  7. 错误: 无法访问InstrumentationTestRunner 找不到android.test.InstrumentationTestRunner的类文件

    错误: 无法访问InstrumentationTestRunner找不到android.test.InstrumentationTestRunner的类文件

  8. Appium 实战练习一

    # -*- coding:utf-8 -*- ''' Created on Sep 30, 2018 @author: SaShuangYiBing Comment: ''' import time ...

  9. Jquery+asp.net实现Ajax方式文件下载实例代码

    如果文件中,需要下载一个文件,一般用超级链接的方式即可. 但是如果是图片,浏览器会默认打开图片浏览,不是实现下载. 考虑可以使用jquery ajax提交form请求的方式. jquery downl ...

  10. Hunter -- 批量文件管理工具

    一个简单工具, 用来进行批量文件的重命名, 更改后缀, 搜索特定后缀, 等 下载地址:http://download.csdn.net/download/kuangsun/7545179