Linux基础之后台运行
linux服务器通常都是远程登录的,执行命令或者脚本时,如果连接断掉(执行时间较长或者网络不稳定时),那么进程也就没了,这时只能重新连接重新执行,这时可以使用后台执行:
1 nohup
命令
nohup $command $args &
这时会生成一个nohup.out文件,内容是命令执行的控制台输出,也可以自己重定向到另一个文件:
nohup $command $args 1>test.log 2>&1 &
2 screen
安装
yum install screen
session详细参数详见
screen -h
下面列举一些常用的参数:
列出当前所有session
screen -list
新建session
screen -S $session_name
进入session后执行任意命令,然后可以直接关闭连接,或者临时退出当前session(临时退出后还可以再重新进入),临时退出命令是:
Ctrl+A d
kill当前session(永久退出)命令:
Ctrl+A k
重新进入session
screen -r $session_name
注意,重新进入的session必须是detached状态,如果是attached状态,必须先detach:
screen -d $session_name
如果在执行screen时报错
Cannot open your terminal ‘/dev/pts/0’ – please check.
先执行即可
script /dev/null
3 Tmux
三个概念:session/window/pane,一个session有多个window,一个windows有多个pane.
帮助
进入tmux之后
Ctrl+d ? (显示所有命令帮助)
Exc or q (离开帮助)
3.1 session相关
tmux ls (显示所有的session)
tmux new -s myname (新建session,命名为myname)
Ctrl+d or exit (退出当前session)
Ctrl+b d or tmux detach (分离当前session,暂时离开)
tmux a (返回上次的session)
tmux a -t myname (返回名称为myname的session)
tmux attach -t myname
tmux kill-session -t myname (关闭名称为myname的session)
tmux rename -t myname1 myname2 (将名称为myname1的session重命名为myname2)
Ctrl+b s (显示所有的session,可以使用0-9切换)
tmux switch -t myname (切换到名称为myname的session)
Ctrl+b $ (重命名当前session)
3.2 window相关
Ctrl+b c (创建新window)
Ctrl+b n (切换到下一个window)
Ctrl+b p (切换到上一个window)
Ctrl+b 0-9 (切换到指定的window)
Ctrl+b , (重命名当前window)
Ctrl+b w (显示所有的window)
Ctrl+b & (关闭当前的window)
3.3 pane相关
Ctrl+b % (垂直拆分pane)
tmux split-window
Ctrl+b " (水平拆分pane)
tmux split-window -h
Ctrl+b q (显示每个pane的编号,显示编号时直接输入数字键选中panel)Ctrl+b Left|Right|Up|Down (在pane间切换光标)
tmux select-pane -L|R|U|D
Ctrl+b ; (返回上一个pane)
Ctrl+b o (切换到下一个pane)
Ctrl+b x (关闭当前pane)Ctrl+b space (重新调整所有pane的布局)
Ctrl+b z (将当前pane调整到全屏,再次调整回原来大小)
Ctrl+b t (当前pane显示时间)
Ctrl+b Ctrl+o (逆时针旋转所有窗格)
tmux resize-pane -L|R|U|D (调整当前窗格的大小)
Ctrl+b PageUp|PageDown (上下翻页)
q (退出翻页)
Ctrl+b [ (进入复制模式)
q (退出复制模式)
3.4 配置文件
修改配置
# vi ~/.tmux.conf
setw -g mode-keys vi
set -g default-command /bin/zsh
set -g default-terminal "screen-256color"
set -g pane-active-border-fg black
set -g pane-active-border-bg red
生效配置
# tmux (进入tmux)
Ctrl+b : source-file ~/.tmux.conf
or
# tmux source ~/.tmux.conf
---------------------------------------------------------------- 结束啦,我是大魔王先生的分割线 :) ----------------------------------------------------------------
- 由于大魔王先生能力有限,文中可能存在错误,欢迎指正、补充!
- 感谢您的阅读,如果文章对您有用,那么请为大魔王先生轻轻点个赞,ありがとう