在这里插入图片描述

场景复现

在Linux上面进行重启springboot项目时,手动在linux上面创建了sh文件,进行运行提示:【No such file or directory】
在这里插入图片描述

解决

在其他服务器中写好shell脚本测试正常,但只是复制文字到另一服务器上以脚本方式运行命令时提示No such file or directory错误,那么一般是文件格式是dos格式的缘故,改成unix 格式即可。

附上亲测可用方法:

1、用vim打开该sh文件:【vi 文件名】
在这里插入图片描述
2、输入
:set ff
回车,显示fileformat=dos,需要改变格式
在这里插入图片描述
3、重新设置下文件格式,继续开始输入英文冒号
:set ff=unix
在这里插入图片描述

4、保存退出(继续冒号输入)
:wq
回车
在这里插入图片描述

5、到这一步,可以查看是否改变格式:vi 文件名.sh --> :set ff
就看看到修改成功
在这里插入图片描述

附上linux重启jar项目方法

只需修改process里面自己的jar名称即可,jar在lib下面才行,不然自己改重启脚本或者重写吧~

#!/bin/bash
source /etc/profile
process=$1
process='自己jar名称.jar'
pid=$(jps -l|grep $process |awk '{print $1}')
DIR="$( cd "$( dirname "$0"  )" && pwd  )"
parent_dir=`dirname "${DIR}"`
echo $parent_dir
#判断进程是否已经存在
if [ -z "$pid" ];
  then
    echo "pid is empty"
    echo "现在正在启动"
    nohup java  -server -Xms256m -Xmx256m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true -jar $parent_dir/lib/$process > /dev/null 2>&1 &
else
    echo "pid is not empty,$pid will be shutdown"
    echo "Killing $process"
    echo "------kill--- $pid ----"
    kill -9 $pid
    echo "------ kill success -------"
    echo "The $process will be start after 3 seconds"
    sleep 1
    echo "The $process will be start after 2 seconds"
    sleep 1
    echo "The $process will be start after 1 second"
    sleep 1
    nohup java -server -Xms256m -Xmx256m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true -jar $parent_dir/lib/$process > /dev/null 2>&1 &
fi

就先说到这 \color{#008B8B}{ 就先说到这} 就先说到这
在下 A p o l l o \color{#008B8B}{在下Apollo} 在下Apollo
一个爱分享 J a v a 、生活的小人物, \color{#008B8B}{一个爱分享Java、生活的小人物,} 一个爱分享Java、生活的小人物,
咱们来日方长,有缘江湖再见,告辞! \color{#008B8B}{咱们来日方长,有缘江湖再见,告辞!} 咱们来日方长,有缘江湖再见,告辞!
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐