ETJava Beta | Java    注册   登录
  • java -jar 启动服务后,关闭命令窗口后服务停止

    发表于 2023-12-21 00:15:32     阅读(1133)     博客类别:J2SE

    java -jar 启动服务后,关闭命令窗口后服务停止
    问题:当我们用java -jar命令启动服务后,只有一直保持Xshell的窗口开启且正常连接服务器时才能访问服务,当关闭命令窗口时,服务会停止运行

    解决:使用nohup命令启动服务

    nohup(no hang up):不挂起
    只要通过nohup命令启动服务,服务会一直运行

    1.安装nohup,查询nohup是否安装

    # 执行命令
    which nohup
    # 如果返回下面结果,表示已经安装过
    /usr/bin/nohup
    

    2.配置nohup路径

    vi ~/.bash_profile 
    
    i键编辑,用键盘方向键移动,找到PATH= $ PATH:$ HOME/bin,后面加上:/usr/bin
    按左上角esc退出编辑,:wq保存并退出
    
    
    
    

    3.刷新配置变量,立即生效

    source ~/.bash_profile 
    

    4.安装成功,查看nohup版本

    nohup --version
    
    出现下面提示,表示安装成功
    [root@etjava ~]# nohup --version
    nohup (GNU coreutils) 8.22
    
    

    5.服务启动,执行启动命令

    # Command:要执行的命令。
    # Arg:一些参数,可以指定输出文件。
    # &:让命令在后台执行,终端退出后命令仍旧执行。
    nohup Command [ Arg … ] [ & ]
    
    例如
    nohup java -jar /home/class/class-room.jar &
    
    或者,将 nohup 的日志输出到 /dev/null,这个目录会让所有到它这的信息自动消失
    nohup java -jar classroom-0.0.1-SNAPSHOT.jar > /home/logs/null 2>/home/logs/null &
    

    6.服务停止,找到对应服务进程的pid,kill掉进程

    ps -ef | grep xxx.jar
    
    
    kill -9 服务的id
    

     


上一篇: 没有了

下一篇:IDEA 无法选择JDK版本问题