当前位置: 首页 > article >正文

linux远程执行命令后中断联系使远程机独立运行

背景

  正常逻辑上通过网络远程在另外一台机器执行一个命令后,就跟本机没有关系了,但是事实上并不是这样的,当执行ssh 后,很多时候也会出现远程反馈信息的情况,换句话就是可以通过ssh实现远程执行调用。但是有些时候并不想在执行过程中建立这种联系,也就是客户机向远程服务机下达命令后,就不用管执行结果,断了连续,以至于不用一直等待,毕竟建立网络连接需要消耗资源。

disown

  linux 中bg fg kill wait disown suspend基本是一套的命令,其中的disown 命令是为了消除当前tty的用户建立的shell进程与执行命令的联系,但是后台依然能够查看执行的线程,像是换到后台执行。所以disown是不能断掉与远程的命令的联系。

kill

  解决想法是通过&使得命令到后台运行,然后通过kill断掉进程。这个时候有个疑问就是,断掉客户机的进程,会不会中断远程机的命令?通过以下实验证明,不会!!所以该方法可以实现断了远程执行的联系。

[root@node1 ~]# ssh node2 "sleep 100 &" &
[root@node1 ~]# ps -ef|grep 'sleep 100'
root      1661  1361  0 10:20 pts/0    00:00:00 ssh node2 sleep 100 &
[root@node1 ~]# jobs -l
[1]+  1661 Running                 ssh node2 "sleep 100 &" &
[root@node1 ~]# kill -9 1661
[root@node2 ~]# ps -aux|grep sleep
root      1690  0.0  0.0 108052   352 ?        S    10:20   0:00 sleep 100

http://www.kler.cn/a/227489.html

相关文章:

  • h.264与h.263的区别
  • 字符串比较中==和equals的区别(Java)
  • Java 数据结构 二叉树(二)红黑树
  • 开源浏览器Firefox:使用Docker本地部署并远程访问进行测试
  • Linux的7个运行级别
  • SQL Server 函数参考手册(SQL Server 字符串函数)
  • 《Vue3 基础知识》 使用 GoGoCod 升级到Vue3+ElementPlus 适配处理
  • 线程和进程的区别及基础线程创建
  • 为什么说TiDB在线扩容对业务几乎没有影响
  • c语言:贪吃蛇的实现
  • 知识图谱推理方法综述
  • 适用于嵌入式单片机的压缩算法
  • 使用gcc/g++查看C语言预处理,编译,汇编,连接,以及动静态库的区分
  • Redis 哨兵(Sentinel)
  • Elastic Search 6.x 版本 rollover 配置
  • 探索前端开发框架:React、Angular 和 Vue 的对决(一)
  • 数据结构中的时间复杂度和空间复杂度基础
  • android tv开发-1,leanback
  • 稀疏场景高性能训练方案演变|京东广告算法架构体系最佳实践
  • C语言内存分配函数知识汇总