Linux 环境下程序不间断运行
|
新启动程序
|
nohup ./test.sh >log 2>&1 &
|
setsid ./test.sh >log 2>&1 &
|
|
已运行程序
|
nohup -p PID
|
disown -h %n
|
|
screen -S NAME
|
screen -S sxhlinux
|
新建一个名为sxhlinux的screen会话
|
|
screen -ls
|
screen -ls
|
查看当前系统中所有的screen会话
|
|
screen -d NAME
|
screen -d sxhlinux
|
将sxhlinux会话与当前shell终端分离
|
|
screen -r NAME
|
screen -r sxhlinux
|
在当前shell进程中与名为sxhlinux的进程重新连接
|
|
screen -R NAME
|
screen -R sxhlinux
|
同-r选项,另外如果sxhlinux不存在,
就会重新新建一个名为sxhlinux的screen会话
|
|
screen -x NAME
|
screen -x sxhlinux
|
多个终端同时操作名为sxhlinux的screen会话,操作同步可见
|
|
ctrl-a c
|
在当前会话中创建一个新的的shell窗口
|
|
ctrl-a n/p
|
切换到下/上一个窗口
|
|
ctrl-a d
|
使当前会话与原shell detach
|
|
ctrl-a w
|
列出当前会话中的所有窗口
|
|
ctrl-a k
|
关闭当前窗口
|
|
ctrl-a x/q
|
锁定、解锁当前窗口
|
|
ctrl-a [/]
|
[启动复制模式(vi操作习惯),第一次空格键表示开始复制,第二次空格表示结束复制;
]将[复制的内容粘贴到当前位置
|
|
ctrl-a S/|
|
将当前屏幕水平/垂直分成两部分,可以通过ctrl-a TAB来切换
|
|
tmux new -s NAME
|
tmux new -s sxhlinux
|
创建一个
|
|
tmux detach -s NAME
|
tmux detach -s sxhlinux
|
将sxhlinux会话分离
|
|
tmux attach -t NAME
|
tmux a -t sxhlinux
|
重新连接sxhlinux会话
|
|
tmux ls
|
tmux ls
|
列出当前所有的tmux会话
|
|
tmux lsc [-t NAME]
|
tmux lsc [-t sxhlinux]
|
列出所有[连接到sxhlinux]的客户端
|
|
tmux rename -t OLD NEW
|
tmux rename -t sxh sxhlinux
|
将会话sxh重命名为sxhlinux
|
|
tmux kill-session -t NAME
|
tmux kill-session -t sxhlinux
|
关闭sxhlinux会话
|
|
ctrl-a c
|
同screen
|
|
ctrl-a d
|
同screen
|
|
ctrl-a f
|
在当前会话所有打开的窗口中搜索文本
|
|
ctrl-a n/p
|
同screen
|
|
ctrl-a &
|
关闭当前窗口
|
|
ctrl-a x
|
关闭当前会话
|
set -g prefix C-a #配置快捷键前缀为ctrl a
unbind C-b #取消快捷键前缀ctrl b
unbind '%' #取消左右分pane的快捷键 %
bind | splitw -h #指定左右分pane的快捷键 |
bind k selectp -U #指定选择上方pane的快捷键 k
bind j selectp -D #指定选择上方pane的快捷键 j
bind h selectp -L #指定选择上方pane的快捷键 h
bind l selectp -R #指定选择上方pane的快捷键 l
- tmux-continuum插件要求tmux版本为1.9以上,目前CentOS 7 上的版本为1.8。 所以,需要我们去github的tmux项目中下载新版本的tmux替换系统中已有的老版本。
- 下载并安装tmux插件 git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
- 编辑 ~/.tmux.conf文件,并在最后追加如下内容
# Edit ~/.tmux.conf and added lines below at the bottom
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm' - 执行 tmux new -s test 创建一个临时的session,然后在session中执行 ctrl-a I 组合键安装tmux-continuum。安装完成后ctrl-d结束当前session。至此continuum插件安装完成。
参考资料:https://github.com/tmux/tmux https://github.com/tmux-plugins/tpm https://github.com/tmux-plugins/tmux-continuum
Linux 环境下程序不间断运行的更多相关文章
- linux环境下jmeter安装和运行
linux环境部署: 在Linux服务器先安装jdk:2.以jdk-8u172-linux-x64.tar.gz为例:下载地址:http://www.oracle.com/technetwork/ja ...
- linux 环境下 eas console的运行
1)访问 http://<HOST>:19000/easconsole/ 2)然后下载 jnlp 文件. 3)找个jre, 用javaws 运行 jnlp文件
- 编写第一个Linux环境下程序的编译,下载记录
跟着韦东山学习Linux: 今天系统系统性的学了代码的编译下载,条记录一下: 一,代码:001_led_on.S,就把下面代码编译后Bin文件下载进2440处理器. /* * 点亮LED1: gpf4 ...
- Linux环境下安装JDK8
Linux环境下搭建Java项目运行环境,首先要安装JDK,安装JDK8的步骤如下: 1 下载JDK安装包 下载地址:http://www.oracle.com/technetwork/java/ja ...
- Linux环境下部署完JDK后运行一个简单的Java程序
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...
- 针对 Linux 环境下 gdb 动态调试获取的局部变量地址与直接运行程序时不一致问题的解决方案
基础的缓冲区溢出实践通常需要确定运行状态下程序中的某些局部变量的地址,如需要确定输入缓冲区的起始地址从而获得注入缓冲区中的机器指令的起始地址等.在 Linux 环境下,可通过 gdb 对程序进行动态调 ...
- SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建
最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...
- 【ARM-Linux开发】Linux环境下使用eclipse开发C++动态链接库程序
Linux环境下使用eclipse开发C++动态链接库程序 Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的 ...
- linux 环境下运行STS时 出现must be available in order to run STS
linux 环境下运行ECLIPSE时 出现 “ A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avai ...
随机推荐
- JavaScript实现Tab栏切换
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 京东网页上,可以看到下面这种tab栏的切换: 我们把模型抽象出来,实现一 ...
- Code4 APP
MJExtension 斯坦福大学公开课
- Java compiler level does not match the version of the installed java project facet错误的解决
因工作的关系,Eclipse开发的Java项目拷来拷去,有时候会报一个很奇怪的错误.明明源码一模一样,为什么项目复制到另一台机器上,就会报“java compiler level does not m ...
- 改变UITableView选中行高亮的颜色
UIView *backView = [[UIView alloc] initWithFrame:self.contentView.frame]; backView.backgroundColor = ...
- python3 第十一章 - 数据类型之str(字符串)
字符串是 Python 中最常用的数据类型,我们可以使用引号 ' 或 " 来创建字符串,例如: name = 'roy' sex = "男" 1.访问字符串中的值 Pyt ...
- java1.8--1.8入门介绍
在我之前的工作中,一直使用的是java6.所以即使现在java已经到了1.8,对于1.7增加的新特性我也基本没使用的.在整理一系列1.8的新特性的过程中,我也会添加上1.7增加的特性. 下面的整理可能 ...
- centos 如何关闭防火墙?
1 查看防火墙状态: 命令: /etc/init.d/iptables status 如果是开着显示内容类是截图 2 临时关闭防火墙: 命令:/etc/init.d/iptables stop ...
- web开发概述
1 Web概述 Web,在英语中表示网页的额意思,它用于表示Internet主机上供外界访问的资源. 2 Web的分类 按照服务器上的资源分类: 静态资源:指的是web页面中供人们浏览的数据是始终不变 ...
- Docker for Web Developers目录
在OpenStack在私有云占主导定位之后,后起之秀Docker在PaaS平台.CI/CD.微服务领域展露锋芒.作为Web Developers,我们有必要学习和掌握这门技术. 1. 运行第一个Doc ...
- Ubuntu中使用dnw工具:没有找到/dev/secbulk0
Ubuntu中使用dnw动机: 一. 之前没有用ubuntu中的dnw,想试试. 二. 因为换了win10系统,怕搞不定win10中dnw的驱动,想着在ubuntu中不用禁用数字签名啥的比较省心.(事 ...