[linux]bash -x run.sh 这个命令如何设置 ubuntu 为后台执行

在 Ubuntu 中,如果你希望将一个脚本以后台进程的方式运行,可以使用 nohup 命令和 & 符号。这样可以使脚本在你退出终端后仍然继续运行。

使用 nohup 命令以后台执行

  1. 使用 nohup 运行脚本:

    nohup bash -x run.sh &
    • nohup 允许你在退出终端后继续运行程序。
    • bash -x run.sh 会在执行时输出每个命令的详细调试信息。
    • & 符号将命令放入后台执行。
  2. 查看输出:
    默认情况下,nohup 会将输出重定向到 nohup.out 文件。在相同的目录下,你可以查看该文件来获取脚本执行的输出:

    cat nohup.out
  3. 使用 jobsbg 管理后台任务:

    • 如果你已经在前台运行了脚本,并希望将其放到后台,可以按下 Ctrl + Z 停止进程,然后使用:
      bg
    • 这将把最近的停止进程放入后台。
    • 你也可以使用 jobs 查看后台进程的列表。
  4. 使用 disown:
    如果你希望在将进程放入后台后,又不想它与当前 Shell 关联,可以使用:

    disown

完整示例

以下是一个完整的示例命令,将脚本以调试模式在后台运行,并保持运行:

nohup bash -x run.sh > output.log 2>&1 &

这个命令的意思是:

  • > output.log: 将标准输出重定向到 output.log 文件。
  • 2>&1: 将标准错误输出 (file descriptor 2) 也重定向到标准输出 (file descriptor 1), 也就是 output.log 文件。
  • &: 将命令放入后台执行。

这样你就可以在终端继续使用其他命令,同时脚本在后台运行。

本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心
wangchunbo
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 某医疗行业
文章
299
粉丝
346
喜欢
563
收藏
1124
排名:61
访问:12.5 万
私信
所有博文
社区赞助商