screen实现关闭ssh之后继续运行代码

本文基于Ubuntu 14。04

使用SSH连接远程服务器,启动服务,退出SSH后,服务也就终止了,使用Screen可以解决这个问题。

1、安装Screen

apt-get install screen

2、安装完成后,输入screen命令,根据提示按空格进入新的界面

3、像之前启动Meteor项目一样,进入目录,启动Meteor项目

cd /home/meteor/hello

meteor

4、启动完成后访问项目 http://ip:3000,成功。关闭ssh窗口,继续访问,仍然成功。

5、再次进入ssh,查看已经打开的服务

screen -ls

执行后会列出正在运行的子界面,查看服务运行的子界面

screen -ls 子界面代号,进入运行子界面的控制台

6、也会遇到进入子界面失败的情况,提示如下错误

There is no screen to be resumed matching 6556

7、输入命令回复

screen -d 6556

8、再次进入子界面,因为目前只有一个子界面,可以直接输入screen -r 进入

9、进入子界面后,回到主界面的命令是 ctrl+a,d  即先输入ctrl+a再输入d

时间: 2025-01-11 13:53:37

screen实现关闭ssh之后继续运行代码的相关文章

Linux关闭终端(或者关闭SSH等)后运行的程序自动停止

问题描述: 之前在服务器上起一个python的服务,放到后台运行. python pyserver.py &.  当我关闭这个SSH之后,该服务不可用,再次登入到服务器,已经没有这个python进程啦. 问题定位: 通过上面问题的表象,可以发现是跟SSH关闭有关.为什么ssh关闭,会导致正在运行的程序死掉.通过查看相关的资料,发现真正的元凶是SIGHUP信号导致的. 在linux中,有下面几个概念: 进程组: 一个或多个进程的集合,每一个进程组都有唯一一个进程组ID,即进程组会话器: 一个或多个

Linux使用screen实现关闭ssh连接的情况下,让程序继续在后台运行

Ubuntu默认没有安装screen,需要手动安装. 安装命令: sudo apt-get install screen 简单的操作方法: 直接输入命令 screen 进入screen子界面,此时putty标题栏会指示处于子界面状态,然后运行你的程序 操作命令... 然后按下Ctrl+A后抬起,然后按下d键,此时切换回主界面,Putty的窗口标题栏也会指示. 此时就是断开ssh(直接关闭putty的窗口),程序仍在运行. 以后重新ssh连接后,如果要找回之前的窗口,输入 screen -ls 查

实现关闭ssh继续运行程序---tmux

问题1:为什么ssh一关闭,程序就不再运行了 元凶:SIGHUP 信号 让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉. 在Linux/Unix中,有这样几个概念: 进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID. 会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader).会话期ID为首进程的ID. 会话期可以有一个单独的控制终端(controlling termin

解决Linux关闭SSH,终端后运行程序终止问题(包括后台)

问题描述: 每次SSH到服务器上,然后运行了一个自己写的服务端程序,比如 ./myserver.sh ,然后关闭ssh或者终端之后,发现服务不能访问. 简要分析下: 根据   这篇博文  的提示,ssh登录后会新建一个会话,一个登陆shell发起的会话,一般由一个会话首进程.一个前台进程组.一个后台进程组组成.通常来说,会话首进程是一个登录shell,比如bash.进程组是一个或多个进程的集合,进程组属于一个会话.一般来说,一个进程组中的其它进程的父进程是进程组组长进程的ID,如果,这个进程组组

Ubuntu 在终端关闭情况下仍然运行进程

参考: 让Linux关闭终端(关闭SSH等)后,程序继续运行 Ubuntu 在终端关闭情况下仍然运行进程 在 Ubuntu 16.04 系统下使用 screen 命令在终端关闭情况下仍然运行进程.具体命令如下: sudo apt install screen screen // 回车进入子界面 // 执行命令 // 按 ctrl+a+d 回到主界面 screen -ls // 查看子界面 screen –r [子页面序号] // 回到子界面 2019.5 原文地址:https://www.cnb

JS实现简单的运行代码 & 侧边广告

/* JS实现简单的运行代码功能 */<!doctype html> <html> <head> <meta charset="utf-8" /> <script> window.onload = function() { var oTxt = document.getElementById('codeText'); var oBtn = document.getElementById('btn'); oBtn.onclick

AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码

AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码 添加Watch应用对象时新增内容介绍 Watch应用对象添加到创建的项目中后,会包含两个部分:Watch App 和 WatchKit Extension,如图2.18所示.其中,Watch App部分位于用户的iWatch上,它目前为止只允许包含Storyboard文件和Resources文件.在我们的项目里,这一部分不包括任何代码.WatchKit Extension部分位于用户的iPhone安装的对应App上,这

界面显示后延时运行代码《转》

procedure timerfun(handle:Thandle;msg:word;identer:word;dwtime:longword);stdcall; begin killtimer(handle,identer);//关闭定时器 //接下来为代码段end; procedure TForm1.FormShow(Sender: TObject); begin settimer(self.handle,0,1000,@timerfun); end; 加载界面后再运行代码段

实现关闭ssh继续实施方案---tmux

问题1:为什么ssh一个关闭.不再执行的程序 罪魁祸首:SIGHUP 信号 让我们来看看为什么关掉形式/断开将使程序被执行死. 在Linux/Unix在.有几个概念: 进程组(process group):一个或多个进程的集合,每个进程组有唯一一个进程组ID,即进程组长进程的ID. 会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader).会话期ID为首进程的ID. 会话期能够有一个单独的控制终端(controlling terminal).与控制