linux进程永久放后台运行
我们使用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进程永久放后台运行的更多相关文章
- Linux进程关闭和后台运行解析
1.问题背景 Java是跨平台的,大部分程序也都是在Linux服务器上运行的.但是很多朋友其实对服务器了解并不多,对相关知识也是一知半解.很多概念可能知道,但是并不十分清楚,仅仅是基本运用.可能很多新 ...
- Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令
Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令 今天写sh脚本发现一终止命令程序就停止运行了,检查了很久才发现后面少了个&字符导致的!错误写法:nohup ...
- linux下ping加时间戳实时输出到文件 放后台运行
放后台运行命令:setsid 实时输出命令:unbuffer 加时间戳:awk '{ print $0"\t" strftime("%D_%H:%M:%S",s ...
- Linux scp 设置nohup后台运行
Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继 ...
- 【java】 linux下利用nohup后台运行jar文件包程序
Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...
- linux 让程序在后台运行的几种可靠方法
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...
- linux使脚本在后台运行
一.为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关 ...
- Linux进程管理:后台启动进程和任务管理命令
一.为什么要使程序在后台执行 我们的应用有时候要运行时间很长,如:几个小时甚至几个星期,我们可以让程序在后台一直跑. 让程序在后台运行的好处有: 终端关机不影响后台进程的运行.(不会终端一关机或者网络 ...
- 【Linux学习】nohup后台运行程序以及输出重定向
Linux有两种命令使程序后台运行 第一种:支持后台运行,但是关闭终端的话,程序也会停止 command & 第二种:支持后台运行,关闭终端后,程序也会继续运行 nohup command & ...
随机推荐
- 关于makefile文件研究
makefile文件采用依赖倒推的模式进行编译. 主要由以下几步构成: 1 申明 2 default 默认生成的对象 3 TARGET 链接过程 4 cpp 编译过程 5 生成一个version.h文 ...
- Git -- 分支管理简介
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...
- opengl deferred shading
原文地址:http://www.verydemo.com/demo_c284_i6147.html 一.Deferred shading技术简介 Deferred shading是这样一种技术:将光照 ...
- middle
/** * Created by lkl on 2017/7/31. *//** * Created by lkl on 2017/6/26. *///spark-shell --driver-cla ...
- .net网站建设页面提交后css失效的问题
问题描述:.net网站建设在提交后出现css部分失效,如div位置,字体大小. 问题解决:原因是,过去的提示语句我们一律使用了Response.write("<script>al ...
- .NET条形码
建议不要用CODE-39码,改用CODE-128码: CODE-39码密度比较低,条码数字内容太多,导致条码太长,缩短长度就只能减小X尺寸,造成识读困难: CODE-128码密度高,相同的数字生成条码 ...
- MongoDB之update
Update操作只作用于集合中存在的文档.MongoDB提供了如下方法来更新集合中的文档: db.collection.update() db.collection.updateOne() New i ...
- linux环境中nagios(nagios core)安装?nagios安装?
需求描述: 最近准备给线上生产环境部署监控平台,对各个系统的资源使用情况,服务进行监控,采用nagios core版本进行部署, nagios core是开源版本的软件,是免费的nagios XI是上 ...
- 深入理解css3中的flex-grow、flex-shrink、flex-basis
https://www.cnblogs.com/ghfjj/p/6529733.html
- SpringMVC -- 梗概--源码--壹--数据传递
附:实体类 Class : User package com.c61.entity; import java.text.SimpleDateFormat; import java.util.Date; ...