Linux后台执行程序Nohup & Screen

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 的使用更加灵活,用途更广。❞

  1. 安装 Screen。
apt update && apt install screen
  1. 以下是 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,因此采用编译安装。

具体步骤如下:

  1. 下载 screen 的源代码。可以从 GNU Screen官方网站找到最新版本的下载链接。
wget https://ftp.gnu.org/gnu/screen/screen-4.9.1.tar.gz
  1. 解压源代码包。
tar -xvf screen-4.9.1.tar.gz
  1. 进入解压后的目录。
cd screen-4.9.1
  1. 配置编译并设置安装路径为用户 home 目录下的 myapps 文件夹。
./configure --prefix=$HOME/myapps
  1. 编译 screen。
make
  1. 安装编译好的screen。
make install
  1. 添加环境变量。
# 编辑环境变量
vim ~/.bashrc
# 将以下内容添加到最后一行
export PATH="$HOME/myapps/bin:$PATH"
  1. 检查 screen 是否配置成功:
screen -version
  1. 刷新环境变量。
source ~/.bashrc
© 版权声明
THE END
喜欢就支持一下吧
点赞96 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    暂无评论内容