Jupyter AI

31 nohup使用介绍

📅 发表日期: 2024年8月15日

分类: 📝Vim 编辑器入门

👁️阅读: --

在 Linux/Unix 系统中,nohup 是一个常用的命令,结合 shbash 可以用于后台运行脚本 bash.sh,即使关闭终端会话,脚本仍然继续运行。

命令解析

nohup sh bash.sh &
  1. nohup:
    • 忽略 HUP 信号(挂起信号),即使关闭终端,进程不会停止。
    • 输出默认重定向到 nohup.out 文件。
  2. sh bash.sh:
    • 运行 bash.sh 脚本,使用 sh 命令。
  3. &:
    • 将命令放入后台运行,释放终端。

常见用法

  1. 后台运行脚本并保存输出

    nohup sh bash.sh > output.log 2>&1 &
    
    • > output.log:将标准输出重定向到 output.log 文件。
    • 2>&1:将错误输出也重定向到 output.log
  2. 指定自定义 Shell 解释器: 如果脚本需要用 bash 解释器运行:

    nohup bash bash.sh > output.log 2>&1 &
    
  3. 检查进程状态

    • 查看是否在运行:

      ps aux | grep bash.sh
      
    • 如果需要终止进程:

      kill -9 <PID>
      
  4. 使用带路径的脚本: 如果 bash.sh 不在当前目录,可以指定完整路径:

    nohup sh /path/to/bash.sh > /path/to/output.log 2>&1 &
    

注意事项

  1. 权限

    • 确保脚本有执行权限:

      chmod +x bash.sh
      
  2. 输出文件

    • 默认输出会写入 nohup.out,如果没有重定向,确保当前目录有写权限。
  3. 验证是否正在运行

    • 使用

      jobs
      

      查看当前用户的后台任务:

      jobs -l
      

通过这种方式,nohup 可以非常方便地在后台运行脚本,而不受终端关闭的影响。

📝Vim 编辑器入门 (滚动鼠标查看)