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 ...
随机推荐
- HttpServletRequest cannot be resolved to a type。
问题描述:HttpServletRequest cannot be resolved to a type.Multiple markers at this line - The import java ...
- Django_MTV视图
WEB服务请求流程? 用户请求通过url,url带着用户的用户信息封装成request,然后服务器收到url请求,激活获取url中带来的request,服务器处理request逻辑后,返回封装好的re ...
- Django_注册全局消息
需求: 对于登录用户,无论他在哪个页面,我都需要给他全局发送一个消息提示,Django中request就是一个全局变量 那,如何做? 在models 中urser表,继承user的表类中写上一个函数, ...
- CSS深入理解学习笔记之z-index
1.z-index基础 z-index含义:指定了元素及其子元素的"z顺序",而"z顺序"可以决定元素的覆盖顺序.z-index值越大越在上面. z-index ...
- JAVA中创建线程的三种方法及比较
JAVA中创建线程的方式有三种,各有优缺点,具体如下: 一.继承Thread类来创建线程 1.创建一个任务类,继承Thread线程类,因为Thread类已经实现了Runnable接口,然后重写run( ...
- windows 查看端口被哪个程序占用
比如查看端口8080 1. 查看占用端口8080对应的PID,输入命令:netstat -aon|findstr "8080" (加入查到pid为111222) 2. 继续输入ta ...
- 解决IE中placeholder的兼容问题
定义和用法 placeholder 属性提供可描述输入字段预期值的提示信息(hint). 该提示会在输入字段为空时显示,并会在字段获得焦点时消失. 注释:placeholder 属性适用于以下的 &l ...
- java IO(三):字符流
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 监控 Linux 性能的 18 个命令行工具[转]
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们 ...
- 蓝桥杯练习系统—基础练习 sine之舞
题目:最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数,所以他准备和奶牛们做一个"Sine之舞"的游戏,寓教于乐,提高奶牛们的计算能力. 不妨设 ...