Javaプロジェクトをサービスとして配備し、起動してから起動します.

4211 ワード

ステップ1:shスクリプトの作成
/usr/local/src/shs/stressTestディレクトリの下に、2つのスクリプトを新規作成します.start.shとstop.sh
  • start.sh
  • 
    #!/bin/sh
    source /etc/profile
    export PATH=$JAVA_HOME/bin:$PATH
    #   
    RUN_NAME="renren-fast.jar"
    
    # jar   
    JAVA_OPTS=/usr/local/src/java/project/renren-fast.jar
    LOG_OPTS=/usr/local/src/java/project/stressTest.log
    
    nohup java -jar $JAVA_OPTS >$LOG_OPTS 2>&1 &
    echo "$RUN_NAME started success."
    echo $! > /var/run/stressTest.pid
    
    

    覚えておいて、必ずsource/etc/profile、巨大な穴を加えて、さもなくば、javaコマンドが見つからないことをヒントにします
  • stop.sh
  • 
    #!/bin/sh
    source /etc/profile
    PID=$(cat /var/run/stressTest.pid)
    kill -9 $PID
    
    

    ステップ2:スクリプトの実行可能権限の変更
    chmod +x start.sh chmod +x stop.sh
    ステップ3:サービスの確立
    /etc/systemd/systemディレクトリに入り、stressTestを新規作成します.サービスサービス(stressTestはサービス名)
    [Unit]
    Description=    demo
    after=network.target
    
    [Service]
    User=root
    Group=root
    Type=forking
    KillMode=process
    ExecStart=/bin/sh /usr/local/src/shs/stressTest/start.sh start
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
    
    [Service]
    User=root
    Group=root
    Type=forking
    KillMode=process
    ExecStart=/bin/sh /usr/local/src/shs/stressTest/start.sh start
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
    

    ステップ4:新規サービスの実行可能権限:
    chmod +x stressTest.service
    ステップ5:コマンドを実行
    systemctl daemon-reload:             ,          ,    systemctl   ,                ,     。
    systemctl enable hello-service.service   #        
    systemctl start hello-service.service     #     
    systemctl stop hello-service.service    #    
    systemctl restart hello-service.service   #     
    systemctl status hello-service.service    #      
    systemctl disable hello-service.service    #