问题

最近在服务器上准备搞个.net8的APi项目,项目编译打包放到服务器上运行

1
dotnet OnlyMeCommonApi.dll --urls=http://*:8080   

运行后占用当前连接会话,导致不能做其它操作,而且断了远程会导致程序停止运行。

解决

于是上网上查找发现可以用nohup命令实现程序后台运行,这样可以不占用会话并且停止远程连接不会中断项目。

1
nohup dotnet OnlyMeCommonApi.dll --urls=http://*:8080 > output.log 2>&1 &
  • nohup 为命令关键字
  • dotnet OnlyMeCommonApi.dll –urls=http://*:8080 运行程序的命令
  • output.log 输出日志的文件
  • 2>&1 不仅命令行输出到output中错误信息也输出到该文件中
  • & 表示该进程在后台运行
  • tail -f output.log 可以查看后台程序的输出
  • 终止后台程序 ps aux 查看后台程序pid ,kill PID杀死该程序