亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 ubuntu 中啟動、停止和重啟 bash 腳本

如何在 ubuntu 中啟動、停止和重啟 bash 腳本

胡說叔叔 2023-03-31 09:31:45
我有一個在 ubuntu 上運行 java 應用程序的腳本nohup java -Xms512m -Xmx8g -jar /data/software/190716/myapp-0.0.1.jar --server.port=8080 --spring.config.location=/data/software/myapp.properties > ~/running.myapp.log &我可以制作一個.sh腳本來使命令啟動、停止和重新啟動進程嗎?謝謝
查看完整描述

1 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

如評論中所述,更好的方法是遵循running-a-java-process-from-systemd

但是如果你真的對 bash 腳本感興趣,那么你可以做這樣的事情,但請記住,可能有更好的方法。

#!/bin/bash


function start_app() {


? ? # tested with this , uncomment your command

? ? nohup node bin/www > logfile.txt? 2>&1 &?

? ? # nohup java -Xms512m -Xmx8g -jar /data/software/190716/myapp-0.0.1.jar --server.port=8080 --spring.config.location=/data/software/myapp.properties

? ? # write the pid to text to file to use it later

? ? app_pid=$!

? ? echo "Process started having PID $app_pid"

? ? # wait for process to check proper state, you can change this time accordingly?

? ? sleep 3

? ? if ps -p $app_pid > /dev/null

? ? then

? ? ? ? echo "Process successfully running having PID $app_pid"

? ? ? ? # write if success

? ? ? ? echo $app_pid > process_id.txt

? ? else

? ? ? ? echo "Process stopped before reached to steady state"

? ? fi

}


function stop_app() {

? ? # Get the PID from text file

? ? application_pid=$(cat process_id.txt)

? ? echo "stopping process, Details:"

? ? # print details

? ? ps -p $application_pid

? ? # check if running

? ? if ps -p $application_pid > /dev/null

? ? then

? ? ? ? # if running then kill else print message

? ? ? ? echo "Going to stop process having PId $application_pid"

? ? ? ? kill -9 $application_pid

? ? ? ? if [ $? -eq 0 ]; then

? ? ? ? echo "Process stopped successfully"

? ? ? ? else

? ? ? ? echo "Failed to stop process having PID $application_pid"

? ? ? ? fi

? ? else

? ? ? ? echo "Failed to stop process, Process is not running"

? ? fi

}



case "$1" in?

? ? start_app)? ?start_app ;;

? ? stop_app)? ? stop_app ;;

? ? restart) stop_app; start_app ;;

? ? *) echo "usage: $0 start_app|stop_app|restart_app" >&2

? ? ? ?exit 1

? ? ? ?;;

esac

http://img4.sycdn.imooc.com/6426382e0001018d04770360.jpg

查看完整回答
反對 回復 2023-03-31
  • 1 回答
  • 0 關注
  • 347 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號