每天一个liunx命令10之nohup和xargs

   1上传jar包到服务器/edgewalk/springboot/

   

   2编写启动脚本start.sh

#!/bin/sh

 

APP_HOME=/edgewalk/springboot

cd $APP_HOME

export JAVA_HOME=//usr/local/src/java/jdk1.7

rm -f $APP_HOME/nohup.out

nohup $JAVA_HOME/bin/java -jar $APP_HOME/*.jar  &

     nohup command &

        1不挂机运行command

        2如果我们java -jar执行我们的jar包通过crt,那么我们关闭crt.断开和服务器的连接

        那么jar包就会停止运行了,所以需要nohup命令

        3默认会把日志输出到当前目录nohup.out文件中

     export  引入jdk环境

   3编写关闭脚本shutdown.sh

#!/bin/bash

 

ps aux| grep -hs 'springboot_first-0.0.1-SNAPSHOT.jar'|grep -v 'grep'|awk -F ' ' '{print $2}'|xargs kill -s 9

 

rm -f /edgewalk/springboot/nohup.out

      grep -v 'grep' :反向选择,亦即显示出没有 'grep' 内容的那一行!

 

     awk -F ' ' '{print $2}' 按照空格分割,获取到第二个参数(pid)

 

     管道是实现“将前面的标准输出作为后面的标准输入”

     xargs是实现“将标准输入作为命令的参数”


原文地址:https://www.cnblogs.com/edgedance/p/7044591.html