你好,我有个问题,我有 3 个应用程序,我想在系统启动时启动它们。所以我想使用 rc.local 文件,但似乎有问题。看起来应用程序是并行启动的,但我的应用程序相互依赖,这意味着 app1 启动,然后 app2 启动。
我的 rc.locale:
#!/bin/bash
dotnet /srv/DiagAC2/WebApi/MDP.Api.dll &
dotnet /srv/DiagAC2/Hub/CL.Hub.dll &
exit 0
Ubuntu 中有没有办法按照特定顺序启动应用程序?
答案1
如果你不想并行执行它们,你可以这样做:
dotnet /srv/DiagAC2/WebApi/MDP.Api.dll && dotnet /srv/DiagAC2/Hub/CL.Hub.dll
如果第一个返回成功(返回代码为 0),则第二个被执行。(您可以用分号替换双“&&
与”符号;
以消除该successful return
条件)
如果执行时间不需要太多,您可以将该行添加到您的~/.profile
文件中,以便每次以您的用户身份登录时执行它们。(但它可能会减慢登录过程。)
但如果花费太多时间,你应该考虑创建 systemd 服务为此,您必须将上述命令添加到ExecStart
.service 文件的选项中(完整路径而不仅仅是dotnet
)
如果有更好的解决方案,我很高兴听到。