问题描述:书接上文springboot之停止与启动服务的脚本,编写杀死服务脚本的时候,总是不行,Linux会提示你类似下面这样的信息:

killed pid:
: arguments must be process or job IDs

思考:我再次仔细审查我的脚本命令

path=/opt/project/demo/demo-0.0.1-SNAPSHOT.jar
pid=`ps -ef|grep $path|grep -v grep|awk '{print $2}'`
echo "killed pid: "$pid
kill -9 $pid

逐行执行,你会发现一点毛病没有。于是猜测可能和换行符有关,windows 和 linux 下换行符不相同。

linux:\n

windows:\r\n

解决方案:最近看了些 Linux 书籍,发现可以通过 dos2unix 命令进行格式转换。

语法:dos2unix [kn] file [newfile]

执行以下命令

dos2unix -k -n kill.sh stop.sh

转换完成显示类似下面的信息

dos2unix: converting file kill.sh to file stop.sh in Unix format ...

参数解释:

-k :保留该文件原本的 mtime 时间格式(不更新文件上次内容经过修改的时间)

-n:保留原本的旧文件,将转换后的内容输出到新文件,如:dos2unix -n old new

然后我直接执行 sh stop.sh,没有错误信息,直接杀死服务。就是这么神奇!

总结

  1. 我们在 windows 下编写的脚本,在 linux 下使用,一定要注意格式必须为 unix
  2. 在 linux 下编写的脚本,可以直接使用
  3. dos2unix 可以将 dos 文本文件转换为 unix 文本文件

最新文章

  1. android Camera 录像时旋转角度
  2. OpenStack:初识
  3. 问题-安装XP时,提示不识别SATA硬盘
  4. springMVC工作原理图
  5. <script runat=server>、<%%>和<%#%>的区别
  6. history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)
  7. CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制
  8. LINUX 软件管理
  9. JBOD
  10. windows资源管理器中配置右键bash here
  11. 小试ImageMagik——开发篇
  12. VMware 非简易安装centos6(静态ip配置)
  13. Android Material Design控件使用(四)——下拉刷新 SwipeRefreshLayout
  14. PHP基础介绍
  15. 使Python中的turtle模块画图两只小羊
  16. 文件处理(如果文件存在则追加,不存在则生成多级文件夹以及txt目录)
  17. Oracle优化之旅:使用leading, use_nl, rownum调优例子
  18. 《团队-Python 爬取豆瓣电影top250-成员简介及分工》
  19. ALGO-117_蓝桥杯_算法训练_友好数
  20. 进入快速通道的委托(深入理解c#)

热门文章

  1. 修改webserver站点用户组权限
  2. Falsk 路由简析
  3. css 固比固模型
  4. libfastcommon总结(二)从文件中加载配置信息
  5. 我的Keras使用总结(1)——Keras概述与常见问题整理
  6. vs 如何将dll打包到exe中
  7. 12.unittest的学习
  8. JDBC怎么连接数据库
  9. PHP之从反向删除单链表元素的问题谈起
  10. [暴力] Educational Codeforces Round 71 (Rated for Div. 2) B. Square Filling (1207B)