首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

远程服务器上的Shell脚本终止ssh会话

是指在远程服务器上运行的Shell脚本在ssh会话断开后继续执行的情况。当用户通过ssh连接到远程服务器并执行Shell脚本时,如果ssh会话意外中断或用户主动退出,通常会导致Shell脚本的执行中断。

为了解决这个问题,可以使用以下方法:

  1. nohup命令:使用nohup命令可以在后台运行Shell脚本,并且不受ssh会话的影响。nohup命令会将脚本的输出重定向到nohup.out文件中,因此即使ssh会话断开,脚本仍然可以继续执行。示例命令:nohup ./script.sh &
  2. screen命令:使用screen命令可以创建一个虚拟终端,并在其中运行Shell脚本。即使ssh会话断开,脚本仍然在screen会话中继续执行。用户可以随时重新连接到screen会话来查看脚本的执行情况。示例命令:screen -S session_name ./script.sh
  3. 使用后台运行符号&:在执行Shell脚本时,可以在命令末尾添加&符号,将脚本放入后台运行。这样即使ssh会话断开,脚本也会继续在后台执行。示例命令:./script.sh &

远程服务器上的Shell脚本终止ssh会话的解决方法可以根据具体需求选择适合的方式。以上方法都可以确保脚本在ssh会话断开后继续执行,保证脚本的稳定运行。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供弹性计算能力,可满足各种规模的业务需求。链接:https://cloud.tencent.com/product/cvm
  • 弹性伸缩(AS):根据业务负载自动调整云服务器数量,实现弹性扩容和缩容。链接:https://cloud.tencent.com/product/as
  • 云监控(Cloud Monitor):实时监控云服务器的运行状态和性能指标,提供告警和自动化运维功能。链接:https://cloud.tencent.com/product/monitor
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Jenkins远程执行服务器shell脚本

前言 因为统一了Jenkins环境,所以需要远程其他环境主机执行部署脚本。 步骤 1、安装插件 「系统管理」——「管理插件」中,过滤出“SSH”,然后直接安装插件 ?...点击「OK」之后,「添加凭据」,在Username和Password中,填入你远程服务器登陆账号和密码,点击「确认」 ?...4、测试远程执行脚本 「新建任务」 ? 在构建步骤中,选择Execute shell script on remote host using ssh ?...选择SSH site为远程主机节点,在Command中填写执行脚本命令,最后点击「保存」 ? 立即构建测试任务,能看到马上就执行成功了 ? ?...进入服务器内查看是否执行成功,确实已经通过Jenkins远程执行了这个shell脚本 ? 至此,整个Jenkins远程执行Shell脚本过程结束。

5.3K40
  • 利用ganymed-ssh2远程执行其它Linux机器shell命令

    实际应用中,有时候需要从web管理界面上,远程去启动其它linux主机上程序,利用ssh协议可以方便满足这一需求。事实hadoop架构中,从nn启动dn时,就是利用了免密码ssh登录。...ganymed-ssh2是一个实现了ssh协议开源项目,项目地址为:http://ganymed-ssh-2.googlecode.com/ (下载源码要翻强,众所周知原因),如果只是使用的话,pom.xml...262 5 为了方便起见,封装了一个工具类SSHUtil.java(已托管在taobao.org)...package com.cnblogs.yjmyzz.utils; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.Session; import...; import java.io.InputStreamReader; /** * SSH工具类(可远程执行其它Linux机器Shell命令) * Created by jimmy on 2015

    1.7K100

    SSH 远程连接中断 导致阿里云服务器程序运行终止解决方法

    阿里云进行远程连接,如果推出远程连接,会提示: a ----  但如果选择了终止,那么阿里云相应服务也就会终止,这是我们不愿意看到 这里推荐三种解决方案,保证阿里云远程连接推出后,服务仍然不终止...如:运行我服务器程序命令是:screen node /root/mongodb/...( 路径 )....../expressofnode/server Screen创建一个执行vi test.c单窗口会话,退出vi将退出该窗口/会话。...关于其他操作参见:https://blog.csdn.net/ancient_wind/article/details/7989015 ---- 1、在服务端配置 编辑服务器 /etc/ssh/sshd_config..., 下载到本地,在 ‘sshd_config’ 文件最后增加: ClientAliveInterval 60 ClientAliveCountMax 1 完了再次上传到服务器 etc/ssh

    2.9K30

    ssh远程执行目标机器命令

    一句话: ssh -t -p 端口号 用户名@远程机器IP '远程机器命令完整路径' 例如:   ssh -t -p 22 yangjunming@dev '/opt/app/deploy.sh'...注意事项: 一般先配置ssh免密码登录,然后结合这个可以实现一键远程自动部署,大概思路如下: a)先在本机build项目(ant/maven/gradle均可) b) 然后打包成tar并copy到远程机器指定目录...(最简单方式就是用scp) c) 调用远程机器shell脚本,解压tar并执行nohup之类命令重启应用(如果考虑到备份的话,可以在解压前,先备份原来应用或目录) 注:如果启用过程中,依赖一些环境变量...,比如:大部分java应用都依赖JAVA_HOME,CLASSPATH这二个环境变量,假设这二个环境变量是在/etc/profile里设置,强烈建议在shell脚本开头,写上source /etc/profile...强制让环境变量生效,否则可能出现启动过程中,无法正常找到环境变量各种诡异问题。 d) 删除(或备份)远程机器tar包

    1.2K100

    PHP连接linux并执行命令,php实现ssh远程连接服务器并操作服务器,PHP跨服务器执行shell脚本

    1.首先需要有php_ssh2扩展–推荐直接用宝塔上PHP自带扩展管理里面安装 手动安装方法参考我另一篇文章 2.代码及注释 <?...function_exists(“ssh2_connect”)){ exit(‘SSH扩展没有安装或者没有安装成功’); } //建立ssh2连接 ssh2 = ssh2_connect(ssh_host...$ssh2){ exit(‘连接服务器失败’); }else{ echo ‘成功连接上了服务器’; } //连接成功后进行密码验证,没验证无法进行其他操作。 if(!...ssh2_auth_password( ssh2, ssh_user, 未经允许不得转载:肥猫博客 » PHP连接linux并执行命令,php实现ssh远程连接服务器并操作服务器,PHP跨服务器执行shell...脚本

    4.1K40

    在SCF小程序会话服务器

    Wafer On SCF 项目概况: 该项目基于腾讯云小程序会话服务器(Wafer)二次开发。修改某些配置,破除一套服务器对应一个小程序或公众号哦限制。...适配了SCF架构,可直接部署到SCF,通过API网关,提供内外网环境下会话管理服务。 本人小白,完全不懂PHP,原项目在代码层面无法支持多个小程序或公众号,所以在此做了修改和适配。...成立时间:2019-3-15 开发语言:PHP5 运行环境:SCF PHP5.6 项目地址:GITHUB 原项目地址GITHUB:Wafer 会话服务器 功能说明: 小程序鉴权功能:由于微信官方并未实现小程序鉴权...--- 通过上述修改,实现了带appid参数调用会话服务器服务器根据对应appid和secretKey调用微信服务器接口解析用户登录信息,并生成第三方session保存到数据库cAuth中sessioninfo...客户端传入id,skey,encrypt_data,iv,会话服务器进行解密并更新用户信息和返回揭秘数据 { "version":1, "componentName":"MA", "interface

    2.3K41

    通过JSch运行远程linux主机上shell脚本

    如果您看完文章之后,觉得对您有帮助,请帮我点个赞,您支持是我不竭创作动力! 运行远程主机上shell脚本 下面的例子是教给大家如何通过java程序,运行远程主机上shell脚本。...(我讲不是一个黑客学习教程,而是使用用户名密码去执行有用户认证资格主机上shell脚本)。并且通过java程序获得shell脚本输出。...,远程主机已经开通SSH服务(也就是我们平时登录主机所使用服务)。...远程shell脚本 下面的代码放入一个文件:hello.sh,脚本内容很简单只是用来测试,回显输出“hello ” #!...并且在远程主机上,为这个脚本设置可执行权限,方法如下: $ chmod +x hello.sh 本地java程序 我们可以使用下面的代码,去远程linux 主机执行shell脚本,详细功能请看代码注释

    2.2K00

    如何优雅在WindowsShell脚本

    前言 我喜欢Shell脚本,格式方便阅读,方便调试。 在WindowsBat脚本,相对没那么友好,至少对我来说是这样,还有一个致命原因就是不方便调试……这点比较致命。...那有没有一种方法,可以在WindowsShell脚本呢?答案是肯定。...; 记录相关日志到 ftp_check.log ; ---- 代码实现 首先去 Mobaxterm 官网下载最新版,并拷贝到 Windows server 服务器中; 运行 Mobaxterm,并开启一个会话...-Shell,类型选择 Bash; 在新开会话中编写 shell 脚本 ---> ftp_check.sh 代码如下仅供参考; #!...; cron 任务编写有点不友好,需要克服下; 由于日志文件是在shell下完成,所以当你直接双击打开会没有换行,所以需要进行文件转换(这是由于Linux和Windows换行符不一样导致) 万能 Mobaxterm

    2K60

    Linux shell脚本使用while循环执行ssh注意事项

    如果要使用ssh批量登录到其它系统上操作时,我们会采用循环方式去处理,那么这里存在一个巨大坑,你必须要小心了。...一、场景还原: 我现在是想用一个脚本获取一定列表服务器运行时间,首先我建立一个名字为ip.txtIP列表(一个IP一行),再建好密钥实现不用密码直接登录。然后写脚本如下: #!.../bin/bash while read ips; do echo $ips; done < ip.txt 脚本实现了逐行读取列表中IP,但是: #!...脚本只对第一个IP做了检测,就直接跳出来了。...问题就出在这里,ssh语句正好回读取输入中所有东西。为了禁止ssh读所有东西增加一个< /dev/null,将ssh 输入重定向输入。

    3.9K80

    【小家运维】达到Linux第三阶段常用命令笔记记录—Part Ⅲ

    窗口管理器(nohub和screen ) 大多数情况下,我们都 使用SSH 或者 telent(基本已不用了~) 远程登录到 Linux 服务器。...当终端接口检测到网络连接断开时,会给给控制进程(会话期首进程)发送一个挂断信号(终止程序信号) 如果会话期首进程终止,则该信号发送到该会话期前台进程组,从而导致进程停止 因此当网络断开或终端窗口关闭后...shell环境变量 以及 有效范围 每当我们使用ssh客户端远程登陆一个服务时,操作系统就会给我们分配一个新shell,并且这个shell继承了操作系统永久环境变量。...那么脚本里面所有新建、改变变量语句都会保存在当前shell里面,这也就是不用重启原因,可以立即生效~~~ source 作用在本shell程序中执行,不启动子shell,所以可以影响脚本shell...source可以让脚本影响它们shell环境,这和export去影响子shell环境相反

    1.8K20

    如何修复 SSH Client_loop: send disconnect: Broken pipe Error

    ❞ 动动发财小手,点个赞吧! SSH 是 Secure Shell 缩写,是一种远程网络协议,用于通过 TCP/IP 网络安全地连接到远程设备,例如服务器和网络设备。...私钥驻留在用户机器,应始终保密和安全。公钥保存在用户连接远程主机上。在身份验证期间,比较两个密钥身份并授予访问权限。...这是一个不活动时期,在此期间没有从客户端执行或发出任何 Linux 命令。发生这种情况时,SSH 会话终止,从而有效地断开您与远程服务器连接。...ClientAliveInterval——这是一段不活动时间,在此之后 SSH 服务器向连接到它远程客户端发送一条活动消息。...如果在接下来 300 秒内(在 600 秒标记处)没有从客户端收到任何数据或响应,服务器将再次发送另一条活动消息。最后,在客户端不活动 900 秒后,SSH 连接将终止或断开。

    3.4K20

    工位Python——简单SSH服务器

    最近在看python网络方面的知识,发现使用socket编写一些小服务器真是太方便了,简单几行代码就能实现一个服务器,真是高大呀,废话少说,直接上代码: SSH服务器端代码: #!.../usr/bin/env python  #coding:utf-8 #file : ssh server import socket , commands host = 'localhost' port.../usr/bin/env python  #coding:utf-8 #file: ssh client  import socket host = 'localhost' port = 8998...             continue          s.sendall(cd)          data =s.recv(8096)          print data s.close() 这两个脚本实现了简单...linux命令查询功能,但是有一个bug就是长命令查询功能没有实现,下次进行更正。

    1.2K20

    详解SSH 远程执行任务方法

    因为此时你应该是想要运行一个 shell 会话。 但是当你通过 ssh远程主机上执行命令时,并不会为这个远程会话分配 TTY。此时 ssh 会立即退出远程主机,所以需要交互命令也随之结束。...好在我们可以通过 -t 参数显式告诉 ssh,我们需要一个 TTY 远程 shell 进行交互! 添加 -t 参数后,ssh 会保持登录状态,直到你退出需要交互命令。 ?...我们可能需要写长篇累牍 shell 脚本去完成某项使命!此时 SSH 依然是不辱使命好帮手(哈哈,前面的内容仅仅是开胃菜啊!)。...通过重定向 stdin,本地脚本 test.sh 在远程服务器被执行。...执行远程服务器脚本 除了执行本地脚本,还有一种情况是脚本文件存放在远程服务器,而我们需要远程执行它! 此时在远程服务器用户 nick 家目录中有一个脚本 test.sh。

    2.7K21

    日拱一卒,量大管饱,MIT手把手教你配环境

    你可以使用命令将你公钥拷贝到服务器: cat .ssh/id_ed25519.pub | ssh foobar@remote 'cat >> ~/.ssh/authorized_keys' 如果支持...但当你在服务器运行时你该如何操作呢?服务器端口通常不会通过网络暴露给你。 此时就需要使用端口转发,端口转发有两种,一种是本地端口转发,一种是远程端口转发。...举个例子,如果我们在远程服务器8888端口运行了一个jupyter notebook。...shell和框架 在 shell 工具和脚本那节课中我们已经介绍了 bash shell,因为它是目前最通用 shell,大多数系统都将其作为默认 shell。但是,它并不是唯一选项。...最简单方法是写一个 shell 脚本对每个文件使用 ln -s,也可以使用专用工具:https://dotfiles.github.io/utilities/ 在新虚拟机上测试该安装脚本

    1.4K20

    探究Linux独立服务器SSH

    探究Linux独立服务器SSHSSH是SecureSHell缩写。它主要是为了在远程访问另一台计算机/服务器时提供安全性而开发。...连接到远程计算机时,在本地计算机上运行“SSH主机名”,其中主机名是您正在连接远程计算机主机名。主机验证是SSH主要功能之一,因为它可以帮助您检测DNS欺骗。...私钥应该始终保留在您本地计算机上。公钥应该始终留在要连接服务器。公钥不能用于导出您私钥,使其成为安全连接。您本地SSH进程要求您输入密码,而不是远程服务器。...SCP如果您想安全地将文件从您本地计算机传输到服务器(远程主机),反之亦然,您可以使用像SCP这样使用SSH协议程序。如果您SSH会话因不活动而停止,该怎么办?...但是,如果您失去了连接,并且无法结束shell会话,只需键入return两次,然后键入波浪号,后跟句点。这应该从本地端而不是从服务器终止连接。

    2.9K20

    Linux | 如何保持 SSH 会话处于活动状态

    动动发财小手,点个赞吧! 在远程服务器管理和安全数据传输中,SSH(Secure Shell)是不可或缺工具。然而,它便利性和安全性有时会因常见问题而受到损害:冻结 SSH 会话。...换句话说,在超过 11 分钟后,您 SSH 会话将因不活动而终止——即,如果您没有在终端中输入任何内容。 当然,您可以调整这些设置,但这不是正确方法。...ServerAliveCountMax:设置 SSH 在没有从服务器返回任何消息情况下可以发送服务器活动消息数量。如果在发送服务器活动消息时达到此阈值,SSH 将与服务器断开连接,从而终止会话。...如果在发送客户端活动消息时达到此阈值,SSH 服务器将断开客户端连接,从而终止会话。默认值为 3。...SSH 超时和保活好处显而易见,它们可以自动终止空闲会话,从而降低未经授权访问和潜在攻击风险,从而对网络安全做出贡献。 另一方面,过分地应用超时和保活也会带来缺点。

    1.3K40

    Linux 服务器如何通过 Shell 脚本一键部署 SpringBoot 应用

    springboot 是默认集成Tomcat容器,将项目打包成jar包库、使用Java直接启动jar包(非spring boot也可以) 首先需要在服务器端安装jdk、maven、git 点我看maven...,打包时候打包到libs目录下,一遍到时候编写shell脚本读取依赖jar 接下来就可以编写shell脚本了(get源码方式有很多种,直接上传上去也行。...本文将使用Git在服务器端直接拉取源码,编译打包,启动) 主要修改 proc ,SOURCE_HOME,APP_LOG,PROFILES_ACTIVE 文件就好!...#maven打包命令,此处特别注意是 —U ,是指引用快照版本jar(引用自己项目)每次都更新最新。...(pid=$psid)" else echo "$proc is not running" fi } #设置脚本参数,启动时候可以采用.

    1.9K22
    领券