我们使用ssh连接服务器之后,如果在执行某个命令需要时间特别长,当把终端断掉之后,命令就自动停止了

一般我们在ssh客户端执行命令之后,默认他的父进程是ssh,所以把ssh终端关掉之后,子进程也就被自动kill掉了,解决办法就是更改这个命令进程的父进程为init,那样ssh退出去之后,命令依然会运行

默认情况下:

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

[1] 1782

[root@localhost ~]# pstree

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

├─abrtd

├─acpid

├─atd

├─auditd───{auditd}

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

├─crond

├─dbus-daemon

├─dhclient

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

│                    └─hald-addon-inpu

├─master─┬─pickup

│        └─qmgr

├─6*[mingetty]

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

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

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

│                    └─pstree

└─udevd───udevd

解决办法:

1.使用nohup   即  nohup  commond &

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

查看进程:

[root@localhost ~]# pstree

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

├─abrtd

├─acpid

├─atd

├─auditd───{auditd}

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

├─crond

├─dbus-daemon

├─dhclient

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

│                    └─hald-addon-inpu

├─master─┬─pickup

│        └─qmgr

├─6*[mingetty]

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

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

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

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

└─udevd───udevd

2.使用setsid  setsid  commond &

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

查看进程;

[root@localhost ~]# pstree

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

├─abrtd

├─acpid

├─atd

├─auditd───{auditd}

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

├─crond

├─dbus-daemon

├─dhclient

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

│                    └─hald-addon-inpu

├─master─┬─pickup

│        └─qmgr

├─6*[mingetty]

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

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

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

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

└─udevd───udevd

3.使用(),  (commond &)

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

查看进程树:

[root@localhost ~]# pstree

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

├─abrtd

├─acpid

├─atd

├─auditd───{auditd}

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

├─crond

├─dbus-daemon

├─dhclient

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

│                    └─hald-addon-inpu

├─master─┬─pickup

│        └─qmgr

├─6*[mingetty]

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

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

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

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

└─udevd───udevd

hald进程 linux,linux进程不受终端影响相关推荐

  1. linux使进程不依赖终端,Linux nohup命令应用简介--让Linux的进程不受终端影响

    nohup命令应用简介--让Linux的进程不受终端影响 by:授客 QQ:1033553122 #开启ping进程 [root@localhost ~]# ping localhost & ...

  2. linux终端进程bash,让Linux的进程不受终端影响

    使用SSH远程登陆上Linux服务器,运行一些耗时的任务时,如果因为网络中断,这些任务也会就此中断,应此需要这些任务不受终端断开而影响,首先先看下图: 这是运行以下命令的结果 : ping local ...

  3. mysql进程daemon_守护进程详解及创建,daemon()使用

    一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而 且提供某种服务,不是对整 ...

  4. linux孤儿进程组深入理解,unix基础---有关于孤儿进程组和终端会话的理解-------值得一看!!!...

    转载自http://xingyunbaijunwei.blog.163.com/blog/static/765380672011112633634628/ 孤儿进程: 即一个其父进程已经终止的进程.  ...

  5. linux守护进程写法_搞懂进程组、会话、控制终端关系,才能明白守护进程如何创建...

    守护进程 概念: 守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程.周期性的执行某种任务或等待处理某些发生的事件. Linux系统有很多守护进程,大多数服务都是用守护进程实现的 ...

  6. Linux子进程获取终端,Linux| Linux中获取运行进程的 环境变量, 参数, 端口_YvesHe的专栏...

    一.查看 环境变量, 参数 1.ps命令的方式获取信息: 执行目录, 环境变量, 完整的命令行 ps eww -p : 返回某个进程的执行时的环境变量和完整的命令行 参数说明 e 显示环境以及传递给命 ...

  7. linux查看终端进程,Linux查看进程

    1.ps ps命令是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和它所运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等.总之大部分信息都是可以通过执行 ...

  8. linux 主进程 等待,Linux启动与进程

    操作系统中,前台进程和后台进程有什么区别?特征是什么? 后台程序基本上不和用户交互,优先级别稍微低一点 前台的程序和用户交互,需要较高的响应速度,优先级别稍微高一点 直接从后台手工启动一个进程用得比较 ...

  9. 【Linux系统编程】特殊进程之守护进程

    00. 目录 文章目录 00. 目录 01. 守护进程概述 02. 守护进程查看方法 03. 编写守护进程的步骤 04. 守护进程代码 05. 附录 01. 守护进程概述 守护进程(Daemon Pr ...

最新文章

  1. 技术新贵:RPA与NLP技术的结合与应用
  2. Java8 快速实现List转map 、分组、过滤等操作
  3. 入门 打印出“hello, world”
  4. boost::fusion::insert用法的测试程序
  5. 认清几种视频接口标准---无私奉献版
  6. md5加密解密代码_Python内置方法实现基于秘钥的信息加解密
  7. 官方版.NET SDK连线更新(2011/01/19)
  8. Linux: 近100个常用命令大全
  9. 如何使用Java代码将GBK编码格式的工程转换为UTF-8编码格式的工程
  10. R | package基础 | Rstudio + devtools 创建/开发R包(初学者 指南| 简明详细流程)
  11. 给DW2XLS源代码增加了同时导出多个dw的代码(合并多个dw)
  12. ps无法启动,ps暂存盘满了
  13. python作业代做_CSC1001作业代做、代写Programming Methodology作业、代做Python实验作业、Python程序设计作业调试...
  14. Sphinx使用说明
  15. 批处理学习(一)——MS-DOS命令
  16. java implode函数_PHP警告:implode():传递的参数无效
  17. PHP slideup,三级下拉菜单(slideDown/slideUp实现)
  18. 企业纯内网二进制完美部署Docker(20.10.7版本)
  19. defer、delay和postpone的区别?
  20. Lumiprobe Lumizol RNA 提取试剂解决方案

热门文章

  1. [ Azure | Az-900 ] 基础知识点总结(二) - 核心组件服务
  2. 360°环视(全景影像)系统发展趋势
  3. getc与fgetc的区别
  4. Mybatis——动态sql
  5. 总线概述及常见总线(转)
  6. JS获取本机IP的工具类
  7. Java基础编程之分解质因数
  8. 1.Makefile文件是什么?
  9. window浏览器被劫持如何修复,hao123,2345 等
  10. 【权限管理框架】一文看懂Shiro权限管理框架!