网站开发网络公司兼职,东莞纸箱厂东莞网站建设,手机端开发工具,网站信任的体验如何做文章目录 Linux上后台运行进程#xff08;nohub、screen和tmux #xff09;nohupscreen虚拟终端安装screen使用 tmux终端复用器[个人推荐]安装tmux使用 Linux上后台运行进程#xff08;nohub、screen和tmux #xff09;
命令行的典型使用方式是#xff0c;打开一个终端窗… 文章目录 Linux上后台运行进程nohub、screen和tmux nohupscreen虚拟终端安装screen使用 tmux终端复用器[个人推荐]安装tmux使用 Linux上后台运行进程nohub、screen和tmux
命令行的典型使用方式是打开一个终端窗口terminal window以下简称窗口在里面输入命令。用户与计算机的这种临时的交互称为一次会话session 。
会话的一个重要特点是窗口与其中启动的进程是连在一起的。打开窗口会话开始关闭窗口会话结束会话内部的进程也会随之终止不管有没有运行完。
一个典型的例子就是SSH 登录远程计算机打开一个远程窗口执行命令。这时网络突然断线再次登录的时候是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了里面的进程也随之消失了。
为了解决这个问题会话与窗口可以解绑窗口关闭时会话并不终止而是继续运行等到以后需要的时候再让会话绑定其他窗口。
Linux上后台运行进程有一下三种方法
nohupscreen虚拟终端【推荐】tmux终端复用器【推荐】
nohup
nohup 全称no hang up不挂起。也就是说当前交互命令行退出的时候程序还在运行。
nohup command myout.file 21 这条命令表示执行后退出交互命令行也不挂起通过最后一个 表示后台运行不霸占交互命令行同时将标准输出和标准错误输出合并到myout.file文件中。
让命令在后台执行终端退出后命令仍旧执行。21 解释 将标准错误 2 重定向到标准输出 1 标准输出 1 再被重定向输入到 myout.file 文件中。 0 – stdin (standard input标准输入) 1 – stdout (standard output标准输出) 2 – stderr (standard error标准错误输出)
screen虚拟终端
官方https://www.gnu.org/software/screen/
安装screen
# Debian
apt-get install screen
# CentOS 8以前
yum install screen
# CentOS 8以后
yum install epel-release
yum install screen使用
screen -R #虚拟终端名字在这个界面运行程序即可
查看已经存在的screen 查看已经存在的screen很简单输入
screen -ls重新进入screen 刚刚我们查看了已经存在的screen接下来我们重新进入有两种方式
PID进入使用screen -r #PID即可进入
screen名使用screen -R #screen名即可进入tmux终端复用器[个人推荐]
官方https://github.com/tmux/tmux/wiki
tmux是终端多路复用器。它使您可以轻松地在一个终端中的几个程序之间切换将它们分离它们在后台运行然后将它们重新安装到另一个终端。
安装tmux
# centos
sudo yum install tmux
# ubuntu
sudo apt-get install tmux使用
创建tmux终端 创建tmux终端很简单也是一条命令例如 使用名为farming的套接字文件创建新的TMUX会话 tmux -S farming按下Ctrld或者显式输入exit命令就可以退出 Tmux 窗口。
Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是Ctrlb即先按下Ctrlb快捷键才会生效。 帮助命令的快捷键是Ctrlb ?。它的用法是在 Tmux 窗口中先按下Ctrlb再按下?就会显示帮助信息。
实战demo
Create a new tmux session using a socket file named farming
$ tmux -S farmingMove process to background by detaching
Ctrlb d OR ⌘b d (Mac)To re-attach
$ tmux -S farming attachAlternatively, you can use the following single command to both create (if not exists already) and attach to a session:
$ tmux new-session -A -D -s farmingTo delete farming session
$ tmux kill-session -t farming