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

如何修改读取标准输入的后台Shell脚本以添加nohup?

给后台运行的prog加上nohup的修改方案

我来帮你把nohup整合到现有脚本里,其实改动很简单,直接把nohup放到prog前面就行,修改后的完整脚本如下:

#!/bin/sh
{ nohup prog <&3 3<&- & } 3<&0

额外说明:

  • nohup的核心作用是让程序在你退出终端登录后依然能继续运行,默认会把程序的标准输出和标准错误重定向到当前目录的nohup.out文件中。
  • 如果想自定义输出文件,避免和其他程序的nohup.out混在一起,可以加上重定向规则,比如把输出写到prog_run.log:
    #!/bin/sh
    { nohup prog <&3 3<&- > prog_run.log 2>&1 & } 3<&0
    
  • 原脚本里的文件描述符操作(3<&0、<&3 3<&-)完全保留,这部分逻辑是确保prog能正确读取到test.txt的输入,同时后台运行时不会占用原有的标准输入文件描述符,避免出现意外的阻塞问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:46:10