前言
之前在西柚云公众号发表的《怎么让命令后台运行》这篇文章里说到Jupyter、Rstudio等软件后台运行的方法和nohup、screen等命令的使用,今天我们就来补充一下screen命令的几个常见问题以及另一个后台运行命令——tmux命令的使用。
screen常见问题
怎么给screen会话命名
# 通过 -S 参数为会话指定一个名称
screen -S session_name
# 如果你已经在一个未命名的 screen 会话中,按下 Ctrl + a,然后按 : 进入命令模式,输入 sessionname 新名称。例如
sessionname task
There is no screen to be resumed.
- 这种情况一般是在其它ssh打开了同一个screen会话,可以使用 -D -R 强制分离并重新连接,此时另外一个窗口的ssh端口会被断开。
screen -D -R <session_id>
使用screen之后,滑动没法用了是怎么回事
- screen 是一个字符界面工具,主要通过键盘操作来管理会话。screen默认禁用了鼠标滚动功能,所以需要更改配置文件以支持鼠标翻滚。
echo 'termcapinfo xterm* ti@:te@' >> ~/.screenrc
tmux
# 安装tmux
sudo apt-get install tmux
# 执行tmux命令,启动tmux会话
tmux
# 也可以启动的时候设定名称xxx
tmux new -s xxx
# 想断开连接但让进程继续运行时,你可以按Ctrl + b,然后按d。tmux会话将会放到后台运行
# 重新连接会话
tmux attach -t mysession
# 列出所有会话
tmux ls
#创建新窗口。在tmux会话中按下快捷键:
Ctrl + b, c
# 切换窗口。在tmux会话中按下快捷键
Ctrl + b, 窗口编号(如 0, 1, 2)
# 分割窗口(水平分割)
Ctrl + b, %
# 分割窗口(垂直分割)
Ctrl + b, "
# 切换窗格。在tmux会话中,按下快捷键:
Ctrl + b, 方向键(上下左右)
# 关闭窗格。在tmux会话中执行exit或者按下快捷键Ctrl+d
exit