问题描述:书接上文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
转换完成显示类似下面的信息