问题

在编写项目启动脚本时,遇到一个莫名其妙的问题,脚本在尝试kill掉项目原进程后就不再执行了。
shell

echo "关闭jar服务"
pidList=$(ps aux | grep $projectName | grep -v grep | awk '{print $2}')
for pid in $pidList
do
kill -9 $pid
echo 'kill pid '$pid
done

执行结果是到这里就结束了。最后提示 “已杀死”。

解决

其实还是自己挖的坑,但是也是极有可能被忽略的。
问题出在脚本的命名上,正常习惯是 xxxx项目,deploy-xxxx.sh,好了 $projectName=xxxx;导致脚本pidList包含了deploy-xxxx.sh,最后自己kill掉了自己

  1. 方案一:修改shell脚本名,不能包含项目名;
  2. 方案二:修改脚本,使其查找粒度更细;或者过滤掉脚本自身的pid;

一般都采用方案二,毕竟shell脚本命名不和项目名挂钩,后面就有得找了。

原来:pIdList=$(ps aux | grep ${projectName} | grep -v grep | awk '{print $2}')
修改:pIdList=$(ps aux | grep ${projectName}.jar | grep -v grep | awk '{print $2}')

shell脚本执行出现“已杀死”相关推荐

  1. shell脚本执行及配置文件

    linux之shell脚本执行及配置文件 bash脚本执行方法: 1 解释器直接运行/usr/bin/bash bash FOO.sh2 使用路径运行脚本(需要有x权限)chmod +x FOO.sh ...

  2. linux shell 执行目录,bash shell脚本执行的几种方法

    bash shell 脚本执行的方法有多种,本文作一个总结,供大家学习参考. 假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一: ...

  3. kettle脚本Linux执行,kettle在linux下面用于shell脚本执行:转换或者作业

    1 将windows下面创建好的转换,放到Linux某一个文件夹下面.如:把0816_em.ktr文件放到/home/cfj/kettle/testdemo下面. 注意里面的数据库用户名和密码可能需要 ...

  4. linux shell语法检查或者查看shell脚本执行过程的参数介绍及两种使用方法

    shell语法检查或者查看shell脚本执行过程的参数介绍及两种使用方法 一.常用参数概述: set -x 与 set +x 在liunx脚本中可用set -x就可有详细的日志输出,省的老是要echo ...

  5. shell脚本执行返回的状态码

    http://www.cnblogs.com/MyEyes/archive/2012/01/12/2320529.html Linux下一条命令或一个进程执行完成会返回一个一个状态码. 0   === ...

  6. hive运行mysql脚本_用java代码调用shell脚本执行sqoop将hive表中数据导出到mysql

    1:创建shell脚本 1 touch sqoop_options.sh2 chmod 777 sqoop_options.sh 编辑文件  特地将执行map的个数设置为变量  测试 可以java代码 ...

  7. shell脚本执行时报“bad interpreter: Text file busy“的解决方法

    shell脚本执行时报"bad interpreter: Text file busy"的解决方法 参考文章: (1)shell脚本执行时报"bad interprete ...

  8. Linux shell脚本执行后出现语法错误: 未预期的文件结尾

    Windows环境下编写了一个shell脚本,上传到Linux环境中执行,Linux shell脚本执行后出现 语法错误: 未预期的文件结尾. 出现了此错误提示,进行了如下的检查:1.检查Shell脚 ...

  9. 基于Hadoop的电商广告点击数的分析与可视化(Shell脚本执行与大屏可视化设计)

    目录 摘要 大屏可视化预览 如何安装Hadoop集群 数据集介绍 项目部署流程 一键化配置环境和参数 一键化建立hive数据表 Flume配置及自动加载数据到hive中 数据分析 mysql接收数据表 ...

最新文章

  1. 学习JS面向对象成果,借国庆发布个最新作品与大家交流
  2. RDKit | 基于随机森林的化合物活性二分类模型
  3. Asp.Net MVC3.0网站统计登录认证的在线人数
  4. pytorch计算模型参数量
  5. 1.1 Java包装类、装箱和拆箱
  6. SSM中通过okhttp3向接口发送xml格式的请求参数
  7. PHPstorm中使用数组短语法[],出现红色波浪
  8. 日本老爷爷坚持17年用Excel作画,我可能用了假的Excel···
  9. 【转】Task和async/await详解
  10. html 输入框 相加,JS中,如何实现两个输入框中内容的数字相加?
  11. linux用户退出时自动清除last记录,Linux查看用户登陆历史记录(last命令的使用)
  12. 朋友圈如何测试(思维导图)
  13. php 5.5编译安装教程,CentOS 5.5编译安装Nginx1.0.15+MySQL5.5.23+PHP5.3.10
  14. 便宜又大碗!AI将画廊轻松搬到自家墙壁;用隐写术在图像中存储文件;免费书·算法高维鲁棒统计;关节式手部模型数据集;前沿论文 | ShowMeAI资讯日报
  15. java 复制网页文字,网页文字和图片不能复制怎么办
  16. 2、sudo时候出现no valid sudoers sources found, quitting
  17. Python给pdf制定权限加密
  18. 科研教育「双目视觉技术」首选!维视MV-VS220双目立体视觉系统开发平台
  19. app inventor+tinywebDB远程控制掌控板
  20. 民勤一中2021高考成绩排名榜查询,淬火砺剑——民勤一中为2021届高三学子助力加油!...

热门文章

  1. 精确度/召回率/F1值/Micro-F1和Macro-F1的理解
  2. c语言最小公倍数简易代码,c语言求最大公约数,最小公倍数源代码
  3. C++ 中的左值和右值
  4. [随笔]现在已经不是我们的江湖了
  5. HTML去除横向滚动条
  6. Android中okhttp原理详解
  7. “金牌城市”,烟台新坐标
  8. STM32F769BIT6微控制器STM32F769IGT6详细规格
  9. iOS野指针定位总结
  10. 基于hadoop的智能软考刷题系统