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

 

posted @ 2019-01-14 12:56  匠人先生  阅读(311)  评论(0编辑  收藏  举报