1.編輯啟動(dòng)腳本start.sh
#!/bin/sh
# jar包所在的目錄
cd /home/boss/admin
# 將admin-provider-0.0.1.jar 修改為自己的jar包名
nohup java -jar admin-provider-0.0.1.jar&
exit 0
2.編輯停止腳本stop.sh
#!/bin/sh
# 將admin-provider-0.0.1.jar修改為自己的jar包名
PID=$(ps -ef | grep admin-provider-0.0.1.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
3.編輯查看日志腳本log.sh
#!/bin/bash
tail -f /home/boss/admin/nohup.out
4.給腳本授權(quán)命令
chmod 777 start.sh
chmod 777 stop.sh
chmod 777 log.sh
堅(jiān)持才能得到最好的(一個(gè)腳本搞定)
編寫腳本
#!/bin/sh # jar包路徑 HOME='/home/boss/admin' start(){ #進(jìn)入命令所在目錄 cd $HOME nohup java -jar admin-provider-0.0.1.jar & } stop(){ # 將admin-provider-0.0.1.jar修改為自己的jar包名 PID=$(ps -ef | grep admin-provider-0.0.1.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill $PID fi } log(){ tail -f $HOME/nohup.out } case $1 in start) start ;; stop) stop ;; log) log ;; restart) $0 stop sleep 5 $0 start ;; *) echo "Usage: {start|stop|restart}" ;; esac exit 0
錯(cuò)誤:-bash: ./admin.sh: /bin/sh^M: 壞的解釋器: 沒(méi)有那個(gè)文件或目錄
錯(cuò)誤原因:有時(shí)候編寫腳本時(shí)會(huì)出現(xiàn)類似標(biāo)題列出的錯(cuò)誤,這個(gè)問(wèn)題大多數(shù)是因?yàn)槟_本文件在windows下>編輯過(guò)。在windows下,每一行的結(jié)尾是\n\r,而在linux下文件的結(jié)尾是\n,那么你在windows下編輯過(guò)的文>件在linux下打開看的時(shí)候每一行的結(jié)尾就會(huì)多出來(lái)一個(gè)字符\r,用cat -A urfile時(shí)你可以看到這個(gè)\r字符被顯示>為^M,這時(shí)候只需要?jiǎng)h除這個(gè)字符就可以了。可以使用命令sed -i 's/\r$//' filename。
解決方案: 把
fileName換成自己的腳本名稱,這里是admin.shsed -i 's/\r$//' fileName