我遇到了一些奇怪的问题,我不知道如何解决。我正在使用codeploy将我的应用程序部署到aws ec2实例,在那里,我需要指定一个脚本来在我的实例上执行进程,其中一个实例是.net核心应用程序。
我在windows上使用dotnet publish发布应用程序,并将所需的dll复制到ec2 linux实例。
我可以很好地运行应用程序sudo dotnet application.dll
不过,这只是在我终止应用程序并且不在后台之前。
当我试图在后台运行应用程序时,问题就出现了,这样我就可以继续运行其他应用程序或执行其他任务。
我通常使用screen或nohup在后台运行应用程序,但它似乎不适用于此应用程序。screen在脚本中不工作,nohup运行应用程序,但抛出一个错误
要使用nohup运行,我正在使用sudo nohup dotnet application.dll &并在日志中收到错误
Unhandled Exception: System.UnauthorizedAccessException: Access to the path is denied. ---> System.IO.IOException: Bad file descriptor
--- End of inner exception stack trace ---
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
at Interop.CheckIo(Int64 result, String path, Boolean isDirectory, Func`2 errorRewr