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 & ...
随机推荐
- 第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中
第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中 前面我们讲到的elasticsearch( ...
- mysql 合理创建索引
场景: KEY `index_gscode_f4_f7` (`gscode`,`f4`,`f7`) USING BTREE KEY `index_gscode_f7_f4` (`gscode`,`f7 ...
- 为什么要有handler机制?handler机制的原理
为什么要有handler机制? 在Android的UI开发中,我们经常会使用Handler来控制主UI程序的界面变化.有关Handler的作用,我们总结为:与其他线程协同工作,接收其他线程的消息并通过 ...
- 使用jenkins配置.net mvc网站进行持续集成
最近好久没有更新文章了,因为好久没有写代码了,以至于我不知道同大家分享些什么,刚好,今天突然叫我学习下jenkins每日构建,我就把今天的学习笔记记录下来,这其中很多东西都是公司同事之前调研总结的,我 ...
- C# 结构体 struct
C# 结构体 struct C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法成员. 结构和类的区别: 1.结构是值类型,它在栈中分配空间:而类是引用类型,它在堆中 ...
- 详解Paste deploy
原创作品,转载注明本文出处:http://www.cnblogs.com/Security-Darren/p/4087587.html 谈到WSGI,就免不了要了解paste,其中paste depl ...
- js如何获取asp.net服务器端控件的值(label,textbox,dropdownlist,radiobuttonlist等)
js如何获取asp.net服务器端控件的值(label,textbox,dropdownlist,radiobuttonlist等) 欢迎访问原稿:http://hi.baidu.com/2wixia ...
- vue获取dom元素注意问题
mounted(){ setTimeout(()=>{ this.contentToggle(); },1000) }, methods:{ contentToggle(){ console.l ...
- Vue slot简单理解
情形一: 子组件定义了具名的slot,父组件使用具名的slot,slot显示顺序为子组件定义slot的顺序 子组件: Vue.component('child',{ template:`<div ...
- VBscript实现开机自动启动,自动复制原件后启动
set fso = createobject("scripting.filesystemobject") set ws = createobject("wscript.s ...