`
BucketLi
  • 浏览: 190876 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
5a76a659-f8e6-3bf3-b39a-8ae8f7a0f9d9
Percolator与分布...
浏览量:5570
社区版块
存档分类
最新评论

linux进程后台运行的几种方法

 
阅读更多
原文链接:https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/

简要tips:

当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,让进程忽略 HUP 信号或者让进程运行在新的会话里从而成为不属于此终端的子进程.解决方案包括:

1. nohup
只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将命令同时放入后台运行,也可用">filename 2>&1"来更改缺省的重定向文件名。

引用
nohup ping www.ibm.com &


2.setsid

换个角度,进程不属于接受 HUP 信号的终端的子进程,那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我们做到这一点.

引用
setsid ping www.ibm.com


3.&

当将"&"也放入“()”内之后,我们就会发现所提交的作业并不在作业列表中,也就是说,是无法通过jobs来查看的。新提交的进程的父 ID(PPID)为1(init 进程的 PID),并不是当前终端的进程 ID。因此并不属于当前终端的子进程,从而也就不会受到当前终端的 HUP 信号的影响了

引用
(ping www.ibm.com &)


4.disown
未加任何处理就已经提交了命令,该如何补救才能让它避免 HUP 信号的影响?

用disown -h jobspec来使某个作业忽略HUP信号
用disown -ah 来使所有的作业都忽略HUP信号
用disown -rh 来使正在运行的作业忽略HUP信号

引用
disown -h %1


5.screen
如果有大量这种命令需要在稳定的后台里运行,如何避免对每条命令都做nohup操作,screen能解决这个问题,使用了 screen 后,在screen中运行的进程都是screen进程的子进程,而screen进程的父进程是1,不是用户进程

用screen -dmS session name来建立一个处于断开模式下的会话(并指定其会话名)。
用screen -list 来列出所有会话。
用screen -r session name来重新连接指定会话。

分享到:
评论

相关推荐

    Python脚本后台运行的几种方式

    一个用python写的监控脚本test1.py,用while True方式一直运行...linux 下后台运行 通过fork实现 linux环境下,在c中守护进程是通过fork方式实现的,python也可以通过该方式实现,示例代码如下: 代码如下: #!/usr/bi

    在后台运行Linux命令的方法

    有几种选项可以选择。最明显并且最直接的选项就是启动一个新的 Shell 会话,并且在上面运行命令。另外一个选项,就是在后台运行命令。 一个后台进程就是说一个进程/命令在终端启动后,运行在后台,并且不会和用户...

    Linux的进程管理及作业控制.pdf

    Linux进程管理及作业控制 Linux作为一个多用户多任务的操作系统,能够同时执行多个任务,系统上同时运行着多个进程,正在执行的一个或多个相关进程称为一个作业。使用作业控制,用户可以同时运行多个作业,并在需要...

    Python脚本后台运行的几种方式.docx

    Python 脚本后台运行的几种方式 Python 脚本后台运行是一种常用的技术,在 Linux 环境下有多种实现方式。下面将详细介绍几种常见的方式。 使用 fork 实现后台运行 在 Linux 环境下,使用 fork 方式可以实现后台...

    linux server

    让进程在后台可靠运行的几种方法

    linux后台执行命令&和nohup的具体使用方法

    为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。 & 当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行。例如:sh test.sh & 适合在后台运行的...

    操作系统Linux实验报告一:Linux操作系统基本命令.doc

    3. Linux 文件类型有哪几种?文件的存取控制模式如何描述? 答:①文件类型有普通文件、目录文件、块设备特别文件、字符设备特别文件、命名管道文件等;②存取模式指对不同用户分配不同的操作权。文件系统用户分为...

    Linux-Cpp-Development-Advanced-Learning::smirking_face:Linux Cpp 后台开发进阶学习,校招必学:操作系统、计算机网络、网络编程、并发实战、数据库原理、设计模式、Linux内核笔记、Linux命令和Git等。校招笔记、项目,你值得拥有

    Linux Cpp 后台开发进阶学习   本项目用于Linux Cpp后台开发秋招学习,内容主要涵盖以下几个部分:Cpp...Linux进程创建之浅析fork()   Linux环境编程 Linux 系统编程(一)Linux开发环境+Visual Studio Code配置

    linux日常运维练习题

    可以使用 `nohup` 命令使脚本在后台运行,例如 `nohup script.sh &`,可以使用 `tail` 命令观察脚本的输出信息,例如 `tail -f script.log`。 28. 在 linux 系统下如何按照下面要求抓包,只过滤出访问 http 服务的...

    基于RT_Linux和QT_Embedded的工控机实时嵌入式系统设计.doc

    1. 普通Linux的内核是不可切换的,当一个进程运行在核心态的时候,其他进程不能进入,只能等到该进程退出核心态,因此当一个优先级低的进程处于核心态的时候,可能会阻碍到优先级高的进程运行; 2. 普通Linux在进入...

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    linux认证-笔试-基础——简答题、编程和多选题.pdf

    在 Linux 中,启动一个进程有手工启动和调度启动两种方式。手工启动可以分为前台启动和后台启动。调度启动系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会...

    一个进程池的服务器程序

    当父进程发现请求数 >= 子进程数时,父进程创建新的子进程,并把子进程数加1(当然子进程数有个预先上限);当父进程发现子进程数大于请求数加1时,父进程杀死多余的子进程。 总的来说,思想是让子进程accept并处理...

    实验报告一Linux操作系统基本命令-.doc

    3. Linux 文件类型有哪几种?文件的存取控制模式如何描述? 答:文件类型有普通文件(~)、目录文件(d)、块设备特别文件(b)、字符设备特别文件(c)、命名管道文件(p) 等。“存取控制模式”指对不同用户分配...

    Android通过JNI实现守护进程

    网上搜寻一番后,主要的方法有以下几种方法,但都是治标不治本: 1、提高Service的优先级:这个,也只能说在系统内存不足需要回收资源的时候,优先级较高,不容易被回收,然并卵… 2、提高Service所在进程的优先级:...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.5 几种典型应用对系统资源使用的特点 10.5.1 以静态内容为主的Web应用 10.5.2 以动态内容为主的Web应用 10.5.3 数据库应用 10.5.4 软件下载应用 10.5.5 流媒体服务应用 10.6 Linux下常见的性能分析...

    日志服务器搭建.pdf

    常用的 factility 有以下几 种: auth #有 pam_pwdb 报告认证活动 authpriv #包括特权信息如用户名在内的认证活动 cron #cron 和 at 有关的计划任务 daemon #与 initd 守护进程有关的后台进程 kernel #内核消息队列...

    应用Linux上的OpenLDAP集群.pdf

    同时进程池中的每个进程和后台的LDAP数据库保持一个长连接,这样可以避免一般情况下每次查询都要开一个连接的资源浪费和延时。 * 每个应用服务器上都部署一个mid。这样应用程序每次请求的时候都是通过TCP与mid进行...

    C++多线程入门[整理].pdf

    但大体说来,如下几种状态是通用的: * 就绪:参与调度,等待被执行。一旦被调度选中,立即开始执行。 * 运行:占用 CPU,正在运行中。 * 休眠:暂不参与调度,等待特定事件发生。 * 中止:已经运行完毕,等待回收...

    基于Mailserver性能监视系统

    我们构建本系统来针对邮件服务器性能进行监视,本系统提供了以下几种功能:  CPU监视  Memory监视  Disk监视  Network监视  Process监视 此外,本系统预留了很好的可扩展性,为以后监视对象的增加提供了更...

Global site tag (gtag.js) - Google Analytics