Linux后台执行程序Nohup & Screen

2023年 10月 24日 80.3k 0

Nohup

nohup (no hang up) 用于在系统后台不挂断运行命令,退出终端不会影响程序的运行。

例如某 Python 程序:

nohup python -u main.py >> log.out 2>&1 &

2>&1 是一个重定向操作符,它使错误消息也会被写入 log.out 文件。

图片[1]-Linux后台执行程序Nohup & Screen-不念博客

Screen 会话简单使用

screen 是一个命令行工具,允许在单个 SSH 会话或终端中创建和使用多个会话。

简单来说,Screen 对我最大的好处是即使关闭了终端,会话或执行的程序依然能够继续。

❝相比于 nohup,screen 的使用更加灵活,用途更广。❞

  • 安装 Screen。
  • apt update && apt install screen
  • 以下是 screen 的常用命令。
  • # 查看当前所有的 Screen 会话
    screen -ls
    # 新建一个 Screen 会话
    screen -S [name]
    # 离开 Screen 会话
    # 按 Ctrl + a, 再按 d 分离会话
    
    # 恢复 Screen 会话
    screen -r [session ID]
    # 删除一个 Screen 会话
    screen -X -S [session ID] quit

    无 root 权限下安装 screen

    目前我有一台服务器,但没有 root 和 sudo 权限。

    现需要使用 screen,因此采用编译安装。

    具体步骤如下:

  • 下载 screen 的源代码。可以从 GNU Screen官方网站找到最新版本的下载链接。
  • wget https://ftp.gnu.org/gnu/screen/screen-4.9.1.tar.gz
  • 解压源代码包。
  • tar -xvf screen-4.9.1.tar.gz
  • 进入解压后的目录。
  • cd screen-4.9.1
  • 配置编译并设置安装路径为用户 home 目录下的 myapps 文件夹。
  • ./configure --prefix=$HOME/myapps
  • 编译 screen。
  • make
  • 安装编译好的screen。
  • make install
  • 添加环境变量。
  • # 编辑环境变量
    vim ~/.bashrc
    # 将以下内容添加到最后一行
    export PATH="$HOME/myapps/bin:$PATH"
  • 检查 screen 是否配置成功:
  • screen -version
  • 刷新环境变量。
  • source ~/.bashrc

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论