Linux ssh exit,启动的后台进程不会停止

一般情况下,想要通过终端长时间运行任务,需要使用nohup 或者 screen,如果不使用会怎么样呢?来测试一下

描述:

场景1:ssh登录机器,通过添加(&),启动任务到后台,通过exit命令退出,任务依然存在

场景2:ssh登录机器,通过添加(&),启动任务到后台,直接关闭ssh终端(GUI 直接叉掉窗口),任务终止

测试方法,执行以下命令:

ssh [email protected]_TEST

ping baidu.com 2>&1  1>/dev/null &

exit

执行exit后,进程变成孤儿,但依然存在:

原因:

bash有如下配置项,默认关闭(通过命令:shopt 查看):

huponexit       off

当huponexit 为off时,exit时不会向终端所属任务发SIGHUP信号,激活该选项:

shopt -s huponexit

重复进行上述测试,exit时后台进程退出

ps:

可以使用disown, 、对任务屏蔽SIGHUP信号,这样,即使强制关闭终端(或者huponexit开启时exit),任务也不会停止

示例:

ssh [email protected]_TEST

ping baidu.com 2>&1  1>/dev/null &

disown -h %1

此时强制断开终端(kill 终端进程),进程依旧存在

需要注意,disown后面要加job的编号,如果只有一个job,可以不提供,否则用jobs查看编号

时间: 2024-11-25 01:25:26

Linux ssh exit,启动的后台进程不会停止的相关文章

Linux SSH 连接不上的各种联想

一.CentOS之SSH的安装与配置 SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组 (Network Working Group)所制定SSH 为建立在应用层和传输层基础上的安全协议 传统的网络服务程序,如FTP.POP和Telnet其本质上都是不安全的 因为它们在网络上用明文传送数据.用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击 存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真

Linux ssh无密码访问 利用密钥对

Linux ssh无密码访问 #如果密钥密码回车两次,密钥密码为空,采用ssh登录就不需要输入密钥密码,ssh [email protected]回车即可进入9.80,做到第二步即可实现目的.如果密钥自己设的有密码,想实现无密码登录可以看第三步. 服务器 s 客户端 c   s用的192.168.9.22   c用的192.168.9.80 1.生成密钥对,简便起见,在c上来生成,以下操作我用的都是root,你也可以用普通用户 [[email protected] ~]# ssh-keygen

修改Linux ssh登录前后的欢迎信息

Linux可以设置登录前后的欢迎信息,虽然没什么实际用处,但这次在实际工作中遇到了,我就整理一下与大家分享 在登录系统输入用户名之前,可以看到上方有WELCOME......之类的信息,这里会显示LINUX发行版本名称,内核版本号,日期,机器信息等等信息,要设置的话,首先打开/etc/issue文件,可以看到里面是这样一段"Welcome to <LINUX 发行版本名称>-kernel 后接各项参数\" 后接的参数的各项说明: \r 显示KERNEL内核版本号: \l 显

Linux ssh登录和软件安装详解

阿哲Style Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器上使用的.实际情况,可能我很难直接到坐在服务器前,使用界面操作系统.事实上,界面对于服务器来说就是一个多于的内容.于是Linux的桌面就像一个程序一样,可以卸载.卸载后怎么用呢?使用shell命令.在哪里使用呢?当然是在遥远的另一方. 于是,我学习的第一个内容就是远程访问Linux系统,进行一系列操作.

SSH 服务启动时出现如下错误:fatal: Cannot bind any address

注意:本文相关配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 问题描述 云服务器 ECS (Elastic Compute Server) Linux 服务器启动 SSH 服务时,命令行或 secure日志出现类似如下错误信息: FAILED. fatal: Cannot bind any address. address family must be specified before Listen

Linux Oracle服务启动&amp;停止脚本与开机自启动

在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介绍一般而言如何启动oracle. 一.在Linux下启动Oracle 登录到CentOS,切换到oracle用户权限 # su – oracle 接着输入: $ sqlplus "/as sysdba" 原本的画面会变为SQL> 接着请输入SQL> startup 就可以正常的

linux memcached开机启动

1.首先是写 service脚本 service脚本需要进入到目录/etc/init.d中,然后touch memcached,最后vim memcached后进行脚本编写,脚本如下: #!/bin/bash #chkconfig:345 60 60 #description:auto_run export PATH=/sbin:$PATH start() {         echo -n $"Starting memcached:"         /usr/local/memca

linux教程——1.启动过程

Linux 系统启动过程 linux启动时我们会看到许多启动信息. Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导. 运行init. 系统初始化. 建立终端 . 用户登录系统. 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动. 操作系统接管硬件以后,首先读入 /boot 目录下的内核文件. 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任

Linux 系统的启动过程

阅读目录 Linux 系统启动过程 内核的引导 运行init 运行级别 系统初始化 建立终端 用户登录系统 图像模式与文字模式的切换 Linux的关机 当我们在启动Linux操作系统时,会显示出硬件自检以及很多的启动信息,包括启动失败的我们都一目了然! 在Centos 5.x版本上是可以完全可以看见硬件自检以及启动信息的 在Centos 6.x版本上只显示进度条,只需要按F4 或者 root用户修改 /boot/grub/grub.conf 文件 vim /boot/grub/grub.conf