如何在Linux上运行dotnet应用程序Unbuntu通过bash脚本自动重启[重复]

pdsfdshx  于 2023-04-29  发布在  Linux
关注(0)|答案(2)|浏览(270)

此问题已在此处有答案

Automatically run a program on startup under Linux Ubuntu [closed](1个答案)
2天前关闭。
我有一个dotnet服务器应用程序,我这样启动运行它,即使控制台关闭。nohup dotnet app.dll --urls=http://adress/ &
我想创建一个bash脚本,当它有一些问题和打破,并在这里找到了一些解决方案时,它自己无限启动:
while true; do ./app && break; done
我试着像这样封装我的代码。
while true; do nohup dotnet app.dll --urls=http://adress/ & && break; done
这是因为& &&(第一个&是nohup的配置),然后我尝试创建第二个bash脚本,并像这样运行它。
虽然是真的; 2做/secondbashscript &&break;完成
而第二个bash脚本由nohup dotnet行组成。
但我有一些麻烦,让它运行,我不想被困在一个无限循环,我希望。相反,它应该只是启动dotnet应用程序,并重新启动它,但不要启动它超过一次。

2exbekwf

2exbekwf1#

Supervisor工具可以帮助您解决这个问题。工具可以参考文档。
我还发现了一个blog教如何创建一个dotnet应用程序的守护进程。

xa9qqrwz

xa9qqrwz2#

我终于找到了一个更适合我的问题的解决方案,而不是使用屏幕或像这样的工具,如果我理解正确的话,应该在没有控制台运行的情况下运行。否则,我仍然需要将其分离。
我使用systemd在/etc/systemd/system/目录中创建了一个服务,其内容如下:

[Unit]
Description=Application

[Service]
WorkingDirectory=/path/to/your/application
ExecStart=/usr/bin/dotnet /path/to/your/application/Application.dll --urls=http://:*/
Restart=always
RestartSec=86400

[Install]
WantedBy=multi-user.target

相关问题