Linux笔记 #05# 断开远程连接后保持程序运行
网上搜索了一下,方法很多,选用最流行的 screen
命令参考:http://man.linuxde.net/screen
1. 安装
root@xkfx:~# apt install screen ... root@xkfx:~# screen -list 列出所有会话
There is a screen on:
.pts-.xkfx (// :: PM) (Attached)
Socket in /var/run/screen/S-root.
2. 基本操作
例如说我现在打算断开 ssh ,又希望XXXXXXXX程序继续运行:
root@xkfx:~# screen -ls
There is a screen on:
1883.pts-0.xkfx (03/04/2018 12:06:14 PM) (Detached)
1 Socket in /var/run/screen/S-root.
root@xkfx:~# screen -dmS MyWorker
(创建一个新的视窗,并指定名字)
root@xkfx:~# screen -ls
There are screens on:
2210.MyWorker (03/04/2018 12:38:55 PM) (Detached)
1883.pts-0.xkfx (03/04/2018 12:06:15 PM) (Detached)
2 Sockets in /var/run/screen/S-root.
root@xkfx:~# screen -r 2227.MyWorker
(screen -r 2227 或者 screen -r MyWorker 均可)
(Attached某个视窗,也可以理解为进入某个视窗)
root@xkfx:/# screen -ls
There are screens on:
2227.MyWorker (03/04/2018 12:40:00 PM) (Attached)
1883.pts-0.xkfx (03/04/2018 12:06:15 PM) (Detached)
2 Sockets in /var/run/screen/S-root.
(执行你想进行的任何操作)
root@xkfx:/# cd /opt/antpool/cpuminer-2.5.0/
root@xkfx:/opt/antpool/cpuminer-2.5.0# ./minerd -o stratum+tcp://stratum-ltc.antpool.com:8888 -u xkfx.01
[2018-03-04 12:45:10] 1 miner threads started, using 'scrypt' algorithm.
[2018-03-04 12:45:10] Starting Stratum on stratum+tcp://stratum-ltc.antpool.com:8888
[2018-03-04 12:45:12] thread 0: 4104 hashes, 15.34 khash/s
[detached from 2227.MyWorker]
(退出某个视窗,但保持该视窗工作继续进行。这里的操作是 Ctrl + A + D)
root@xkfx:~# screen -ls
There are screens on:
2227.MyWorker (03/04/2018 12:40:00 PM) (Detached)
1883.pts-0.xkfx (03/04/2018 12:06:15 PM) (Detached)
2 Sockets in /var/run/screen/S-root.
好了,现在可以断开 ssh了。
重新连接ssh,看看程序是不是仍在运行:
root@xkfx:~# screen -ls
There are screens on:
2227.MyWorker (03/04/2018 12:39:59 PM) (Detached)
1883.pts-0.xkfx (03/04/2018 12:06:14 PM) (Detached)
2 Sockets in /var/run/screen/S-root.
root@xkfx:~# screen -r 2227.MyWorker
[2018-03-04 13:26:38] accepted: 28/28 (100.00%), 15.55 khash/s (yay!!!)
[2018-03-04 13:27:38] thread 0: 932832 hashes, 15.55 khash/s
[2018-03-04 13:27:39] thread 0: 9480 hashes, 15.58 khash/s
[2018-03-04 13:27:39] accepted: 29/29 (100.00%), 15.58 khash/s (yay!!!)
[2018-03-04 13:28:14] thread 0: 539904 hashes, 15.55 khash/s
[2018-03-04 13:28:14] accepted: 30/30 (100.00%), 15.55 k1hash/s (yay!!!)
PS. 终结一个 screen ,切入该 screen 结束正在运行的程序, Ctrl + D
3. 应用
解决一下上次的遗留问题:
root@xkfx:~# screen -dmS myChatroomServer
root@xkfx:~# screen -r myChatroomServer
root@xkfx:~# java -jar main.jar
The server is listening on 10000 port ...
[detached from 2586.myChatroomServer]
操作完后断开 ssh 测试:

Linux笔记 #05# 断开远程连接后保持程序运行的更多相关文章
- linux 网络配置及远程连接
linux 网络配置及远程连接 前言 本文结合自己的经历主要讲述以Centos7为基础网络配置和远程连接的解决步骤 网络配置: 安装好centos7后,是上不了网的,配置步骤如下: (1).输入命令d ...
- linux学习笔记一:远程连接linux服务器
环境介绍:win7电脑,通过VM虚拟出linux系统,安装centOS7 通过Xshell连接linux,ftp访问服务器资源. 遇到的问题,ftp连不上linux 解决:linux上安装ftp服务 ...
- root密码重置、Linux目录结构和远程连接Linux
一.root如何重置密码 1. 重启 Linux 系统主机并出现引导界面时,按下键盘上的 e 键进入内核编辑界面 2. 在 linux16 参数这行的最后面追加“rd.break”参数,然后按下 Ct ...
- Linux下mysql的远程连接(转)
转载:http://www.cnblogs.com/fnlingnzb-learner/p/5830661.html 如果Mysql是按上篇的方法进行安装和设置的话,那进行远程连接就会稍微简单一点.我 ...
- Linux 中 MySQL 授权远程连接
说明:当别的机子(IP )通过客户端的方式在没有授权的情况下是无法连接 MySQL 数据库的,如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和具体用户进行授权.一般 root ...
- linux配置mysql数据库远程连接失败
今天配置linux下mysql数据库可以远程访问的问题,百度这方面的资料有很多,但是方法都一样,都试过了却未能解决,记录一下 第一步:在/etc/mysql/my.cnf下找到bind-address ...
- Linux系统MySQL开启远程连接
1.远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码). 2.创建用户用来远程连接 GRANT ALL PRIVILEGES ...
- 如何在断开ssh连接后仍然保持服务器正常运行程序
问题描述:当SSH远程连接到服务器上,然后运行一个Python程序(bpr.py),然后把终端开闭(切断SSH连接)之后,发现该程序执行中断. 解决方法:使用nohup命令让程序在关闭窗口(切换SSH ...
- linux下mysql的远程连接
在服务器上安装mysql后,想使用本地的mysql客户端连接数据库时,提示不允许连接,比较郁闷,找到了这篇文章解决了我的问题: 内容如下: 本地计算机ip:192.168.1.100远程计算机ip:1 ...
随机推荐
- MySQL 分组后取每组前N条数据
与oracle的 rownumber() over(partition by xxx order by xxx )语句类似,即:对表分组后排序 创建测试emp表 1 2 3 4 5 6 7 8 9 ...
- DOS cmd - how to ping a remote host with specified port
You can use ping to test whether you can connect to a remote host: ping baidu.com ping 125.6.45.88 ( ...
- 【黑金原创教程】【TimeQuest】TimeQuest原创教程连载导读【连载完成,共七章】
[第一章]TimeQuest 静态时序分析模型的概念 [第二章]TimeQuest模型角色,网表概念,时序报告 [第三章]TimeQuest 扫盲文 [第四章]内部延迟与其他 [第五章]网表质量与外部 ...
- Egret打包App 修改App名称和图标 (Egret4.1.0)
图标替换位置在项目res下的drawable这些目录下,用新图标覆盖即可. 这里我用白色图片替换了白鹭默认的图片ic_launcher.png 修改App名字,在res->value->s ...
- elk日志分析与发掘深入分析
elk日志分析与挖掘深入分析 1 为什么要做日志采集? 2 挖财自己的日志采集和分析体系应该怎么建? 2.1 日志的采集 2.2 日志的汇总与过滤 2.3 日志的存储 2.4 日志的分析与查询 3 需 ...
- c# 执行 CreateHandle() 时无法调用值 Dispose()
在多线程C#开发中,遇到错误 执行 CreateHandle() 时无法调用值 Dispose().,这个错误是在关闭窗体的时候出来的. 原因是因为窗体还存在CreateHandle()事件,所以还不 ...
- ios 设置委托delegate
为了进行页面传值,也可以用委托的方法. 下面以时间控件为例. 1.首先,在.h 文件设置委托 #import <UIKit/UIKit.h> @protocol DatePickerVie ...
- 【git】------git的基本介绍及linux的基本命令------【巷子】
001.git简介 git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Benedict Torv ...
- DetaSet更新数据
用到的控件:DataGridView(展示数据), Button控件,更名[更新] using System; using System.Collections. ...
- SpringBoot实现热加载方式
一. spring-boot-devtools方式1.在pom.xml中加入以下代码: 2.标识红线的地方加上 3.在设置里面加上自动编译 4.shift+ctrl+alt+/ 这样就可以了! 二.s ...