如何在Ubuntu中启动,停止和重新启动bash脚本

凯文·特鲁曼

我有一个脚本可以在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脚本来使命令启动,停止和重新启动过程吗?谢谢

Adiii

如评论中所述,执行此操作的更好方法是在从系统运行java-process-from

但是,如果您真的对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

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中启动/停止/重新启动线程?

如何在bash脚本中启动和停止systemctl服务?

如何在Ubuntu中重新启动Tomcat 6

如何启动,停止和重新启动rtorrent?

如何在不启动和停止的情况下重新启动Portal Server

如何在Windows 10和Ubuntu之间启动而不重新启动?

如果停止,如何在远程服务器上重新启动python脚本?

如何使用Ant脚本停止和重新启动JBoss 7.1 Application Server?

停止并重新启动Bash中的循环

如何每x小时在bash脚本中重新启动python脚本?

停止或重新启动ubuntu中的R CMD Rserve

如何在关闭或重新启动Raspberry Pi(运行Raspbian)之前运行Bash脚本?

如何在停止和重新启动实例之间将数据保存在本地SSD上

如何在nodejs中自动启动和停止python脚本?

重新启动后恢复Bash脚本

在脚本python中重新启动和重置变量

重新启动笔记本电脑时如何停止和启动或重新启动后台进程

如果bash脚本中的条件变为真,如何重新启动进程

重新启动后如何在Ubuntu上自动启动JasperReports服务器或启动Ubuntu

如何停止collectl递归?重新启动?

如何在Ubuntu上重新启动SSH守护进程?

如何在Azure Build上重新启动Ubuntu代理?

如何在重新启动时擦除 Ubuntu

Bash脚本启动,然后关闭/重新启动各种进程

Mule Batch-如何在服务器重新启动时停止自动重新启动?

如何在不重新启动的情况下查看ubuntu中的grub内核

如何使用ubuntu的UPSTART功能重新启动python脚本而不以root用户身份启动?

如何管理ruby worker启动,停止和重新启动的过程?

如何从python脚本重新启动计算机,并使脚本从停止处自动继续?