• .netcore web应用在linux上如何自动重启


    首先创建一个启动脚本命名为netcore.servic,放到/etc/systemd/system目录下,修改对应的app目录和 启动命令即可

    Type=simple
    # app的目录
    WorkingDirectory=/www/publish
    # 启动命令
    ExecStart=/usr/bin/dotnet Web.App.dll
    Restart=always
    StandardOutput=journal
    StandardError=journal
    # Restart service after 10 seconds if the dotnet service crashes:
    RestartSec=10
    KillSignal=SIGINT
    SyslogIdentifier=dotnet-example
    User=root
    Environment=ASPNETCORE_ENVIRONMENT=Production
    Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
    
    [Install]
    WantedBy=multi-user.target

    重新加载守护进程列表

    systemctl daemon-reload

    这个脚本只具有启动应用的能力,没有停止和重启的功能,所以要再写一个脚本停止并启动应用

    #!/bin/sh
    app_dir="/www/publish"
    
    pid=`ps -ef | grep 'Web.App.dll' | grep -v grep |awk '{print $2}'`
    echo $pid
    #kill process
    while [ "#$pid" != "#" ];do
       echo "kill $pid"
       kill -9 $pid
       sleep 1s
       pid=`ps -ef | grep 'Web.App.dll' | grep -v grep |awk '{print $2}'`
    done
    
    #start process
    sleep 5s
    systemctl start netcore.service


    最后创建任务计划即可(每天零点重启)

    crontab -e
    * 0 * * *  /opt/script/app_restart.sh

    重启crond服务

    systemctl restart crond
  • 相关阅读:
    BZOJ1556 墓地秘密
    [NOI2006]网络收费
    UVA11401 Triangle Counting
    UVA11538 Chess Queen
    BZOJ2560 串珠子
    BZOJ4057 [Cerc2012]Kingdoms
    [HNOI2012] 集合选数
    [Haoi2016]字符合并
    [Snoi2013]Quare
    洛谷平衡树模板总结
  • 原文地址:https://www.cnblogs.com/huangxm/p/12849603.html
Copyright © 2020-2023  润新知