我们使用ssh连接服务器之后,如果在执行某个命令需要时间特别长,当把终端断掉之后,命令就自动停止了一般我们在ssh客户端执行命令之后,默认他的父进程是ssh,所以把ssh终端关掉之后,子进程也就被自动kill掉了,解决办法就是更改这个命令进程的父进程为init,那样ssh退出去之后,命令依然会运行

默认情况下:

[root@localhost ~]# ping 127.0.0.1 &>/dev/null  &

[] 

[root@localhost ~]# pstree

init─┬─VBoxService───*[{VBoxService}]

     ├─abrtd

     ├─acpid

     ├─atd

     ├─auditd───{auditd}

     ├─console-kit-dae───*[{console-kit-da}]

     ├─crond

     ├─dbus-daemon

     ├─dhclient

     ├─hald───hald-runner─┬─hald-addon-acpi

     │                    └─hald-addon-inpu

     ├─master─┬─pickup

     │        └─qmgr

     ├─*[mingetty]

     ├─redis-server───*[{redis-server}]

     ├─rsyslogd───*[{rsyslogd}]

     ├─sshd───sshd───bash─┬─ping  -------->从进程树中可以看出ping的父进程是ssh

     │                    └─pstree

     └─udevd───udevd

解决办法:

.使用nohup   即  nohup  commond &

[root@localhost ~]# nohup ping 127.0.0.1 &>/dev/null  &

查看进程:

[root@localhost ~]# pstree 

init─┬─VBoxService───*[{VBoxService}]

     ├─abrtd

     ├─acpid

     ├─atd

     ├─auditd───{auditd}

     ├─console-kit-dae───*[{console-kit-da}]

     ├─crond

     ├─dbus-daemon

     ├─dhclient

     ├─hald───hald-runner─┬─hald-addon-acpi

     │                    └─hald-addon-inpu

     ├─master─┬─pickup

     │        └─qmgr

     ├─*[mingetty]

     ├─ping           ---------->ping的父进程已经是init了

     ├─redis-server───*[{redis-server}]

     ├─rsyslogd───*[{rsyslogd}]

     ├─sshd───sshd───bash───pstree

     └─udevd───udevd

.使用setsid  setsid  commond &  

[root@localhost ~]# setsid ping 127.0.0.1 &>/dev/null &

查看进程;

[root@localhost ~]# pstree

init─┬─VBoxService───*[{VBoxService}]

     ├─abrtd

     ├─acpid

     ├─atd

     ├─auditd───{auditd}

     ├─console-kit-dae───*[{console-kit-da}]

     ├─crond

     ├─dbus-daemon

     ├─dhclient

     ├─hald───hald-runner─┬─hald-addon-acpi

     │                    └─hald-addon-inpu

     ├─master─┬─pickup

     │        └─qmgr

     ├─*[mingetty]

     ├─ping               ---------->ping的父进程已经是init了

     ├─redis-server───*[{redis-server}]

     ├─rsyslogd───*[{rsyslogd}]

     ├─sshd───sshd───bash───pstree

     └─udevd───udevd

.使用(),  (commond &)

[root@localhost ~]# ( ping 127.0.0.1 &>/dev/null & ) 

查看进程树:

[root@localhost ~]# pstree

init─┬─VBoxService───*[{VBoxService}]

     ├─abrtd

     ├─acpid

     ├─atd

     ├─auditd───{auditd}

     ├─console-kit-dae───*[{console-kit-da}]

     ├─crond

     ├─dbus-daemon

     ├─dhclient

     ├─hald───hald-runner─┬─hald-addon-acpi

     │                    └─hald-addon-inpu

     ├─master─┬─pickup

     │        └─qmgr

     ├─*[mingetty]

     ├─ping              ---------->ping的父进程已经是init了

     ├─redis-server───*[{redis-server}]

     ├─rsyslogd───*[{rsyslogd}]

     ├─sshd───sshd───bash───pstree

     └─udevd───udevd

linux进程永久放后台运行的更多相关文章

  1. Linux进程关闭和后台运行解析

    1.问题背景 Java是跨平台的,大部分程序也都是在Linux服务器上运行的.但是很多朋友其实对服务器了解并不多,对相关知识也是一知半解.很多概念可能知道,但是并不十分清楚,仅仅是基本运用.可能很多新 ...

  2. Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令

    Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令 今天写sh脚本发现一终止命令程序就停止运行了,检查了很久才发现后面少了个&字符导致的!错误写法:nohup ...

  3. linux下ping加时间戳实时输出到文件 放后台运行

    放后台运行命令:setsid 实时输出命令:unbuffer 加时间戳:awk '{ print $0"\t" strftime("%D_%H:%M:%S",s ...

  4. Linux scp 设置nohup后台运行

    Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继 ...

  5. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  6. linux 让程序在后台运行的几种可靠方法

    我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...

  7. linux使脚本在后台运行

    一.为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关 ...

  8. Linux进程管理:后台启动进程和任务管理命令

    一.为什么要使程序在后台执行 我们的应用有时候要运行时间很长,如:几个小时甚至几个星期,我们可以让程序在后台一直跑. 让程序在后台运行的好处有: 终端关机不影响后台进程的运行.(不会终端一关机或者网络 ...

  9. 【Linux学习】nohup后台运行程序以及输出重定向

    Linux有两种命令使程序后台运行 第一种:支持后台运行,但是关闭终端的话,程序也会停止 command & 第二种:支持后台运行,关闭终端后,程序也会继续运行 nohup command & ...

随机推荐

  1. 关于makefile文件研究

    makefile文件采用依赖倒推的模式进行编译. 主要由以下几步构成: 1 申明 2 default 默认生成的对象 3 TARGET 链接过程 4 cpp 编译过程 5 生成一个version.h文 ...

  2. Git -- 分支管理简介

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...

  3. opengl deferred shading

    原文地址:http://www.verydemo.com/demo_c284_i6147.html 一.Deferred shading技术简介 Deferred shading是这样一种技术:将光照 ...

  4. middle

    /** * Created by lkl on 2017/7/31. *//** * Created by lkl on 2017/6/26. *///spark-shell --driver-cla ...

  5. .net网站建设页面提交后css失效的问题

    问题描述:.net网站建设在提交后出现css部分失效,如div位置,字体大小. 问题解决:原因是,过去的提示语句我们一律使用了Response.write("<script>al ...

  6. .NET条形码

    建议不要用CODE-39码,改用CODE-128码: CODE-39码密度比较低,条码数字内容太多,导致条码太长,缩短长度就只能减小X尺寸,造成识读困难: CODE-128码密度高,相同的数字生成条码 ...

  7. MongoDB之update

    Update操作只作用于集合中存在的文档.MongoDB提供了如下方法来更新集合中的文档: db.collection.update() db.collection.updateOne() New i ...

  8. linux环境中nagios(nagios core)安装?nagios安装?

    需求描述: 最近准备给线上生产环境部署监控平台,对各个系统的资源使用情况,服务进行监控,采用nagios core版本进行部署, nagios core是开源版本的软件,是免费的nagios XI是上 ...

  9. 深入理解css3中的flex-grow、flex-shrink、flex-basis

    https://www.cnblogs.com/ghfjj/p/6529733.html

  10. SpringMVC -- 梗概--源码--壹--数据传递

    附:实体类 Class : User package com.c61.entity; import java.text.SimpleDateFormat; import java.util.Date; ...