You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps启动Linux后台进程10秒后终止,如何正确操作?

问题根源

Azure DevOps的Bash任务会在父shell进程退出后,强制清理所有关联的子进程;同时你原命令中,后台启动的dotnet进程仍继承了任务的STDIO流,导致任务检测到流未在10秒内关闭,最终触发子进程终止。

正确实现方式
  • 彻底脱离STDIO流并解除进程与当前shell的关联,避免被任务清理:
    使用以下命令(按需选择日志输出方式):

    1. 丢弃所有输出(无日志):
    nohup dotnet <path to the main dotnetapp.dll> > /dev/null 2>&1 < /dev/null & disown
    
    1. 输出到日志文件(便于排查问题):
    nohup dotnet <path to the main dotnetapp.dll> > /var/log/dotnet_app.log 2>&1 < /dev/null & disown
    
  • 命令各部分作用说明:

    • > /dev/null:将标准输出重定向到空设备,彻底切断任务的标准输出流关联
    • 2>&1:将标准错误重定向到与标准输出相同的目标(空设备或日志文件)
    • < /dev/null:将标准输入重定向到空设备,确保进程不会等待任务的输入流
    • & disown:将后台进程从当前shell的作业列表中移除,避免shell退出时向进程发送终止信号

内容的提问来源于stack exchange,提问作者CodeWeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 05:14:58