`
lfq618
  • 浏览: 88408 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单而有用的nohup命令介绍

 
阅读更多

简单而有用的nohup命令在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止。

 

要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦;另一种方法是仍然用普通方法编程,然后用nohup命令启动程序:

 

nohup<程序名>&

 

则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程)。

 

使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能。

ygwu @ 2005年04月18日 上午10:03

For example:

 

如何远程启动WebLogic服务?

 

用telnet远程控制服务器,远程启动WEBLOGIC服务,启动后关闭telnet,WebLogic服务也跟着停止,这是因为使用telnet启动的进程会随着telnet进程的关闭而关闭。所以我们可以使用一些UNIX下的命令来做到不关闭。

 

使用如下命令:

nohup startWeblogic.sh&

如果想要监控标准输出可以使用:

tail -f nohup.out

 

当在后台运行了程序的时候,可以用jobs命令来查看后台作业的状态。在有多个后台程序时,要使用来参数的fg命令将不同序号的后台作业切换到前台上运行。

 

当用户启动一个进程的时候,这个进程是运行在前台,使用与相应控制终端相联系的标准输入、输出进行输入和输出。即使将进程的输入输出重定向,并将进程放在后台执行,进程仍然和当前终端设备有关系。正因为如此,在当前的登录会话结束时,控制终端设备将和登录进程相脱离,那么系统就向所有与这个终端相联系的进程发送SIGHUP的信号,通知进程线路已经挂起了,如果程序没有接管这个信号的处理,那么缺省的反应是进程结束。因此普通的程序并不能真正脱离登录会话而运行进程,为了使得在系统登录后还可以正常执行,只有使用命令nohup来启动相应程序。

 

使用命令nohup当然可以启动这样的程序,但nohup启动的程序在进程执行完毕就退出,而常见的一些服务进程通常永久的运行在后台,不向屏幕输出结果。在Unix中这些永久的后台进程称为守护进程(daemon)。守护进程通常从系统启动时自动开始执行,系统关闭时才停止。

 

在守护进程中,最重要的一个是超级守护进程inetd,这个进程接管了大部分网络服务,但并不是对每个服务都自己进行处理,而是依据连接请求,启动不同的服务程序与客户机打交道。inetd支持网络服务种类在它的设置文件/etc/inet.conf中定义。inet.conf文件中的每一行就对应一个端口地址,当inetd接受到连接这个端口的连接请求时,就启动相应的进程进行处理。使用inetd的好处是系统不必启动很多守护进程,从而节约了系统资源,然而使用inetd启动守护进程相应反应会迟缓一些,不适合用于被密集访问的服务进程。

分享到:
评论

相关推荐

    nohup命令详解.txt

    ### nohup命令详解:确保进程在终端关闭后继续运行 #### 核心知识点解析: **nohup命令概述:** `nohup`是Linux系统中的一个实用工具,其名称源自“No Hang UP”,意为“不断开”。该命令允许用户在终端窗口关闭或...

    通过python 执行 nohup 不生效的解决

    在使用Python进行远程服务器操作时,我们经常遇到需要在服务器后台执行持续运行的命令,比如`nohup`。`nohup`命令允许我们在退出终端后仍然保持进程的运行状态,不受SIGHUP信号的影响。然而,在使用Python的paramiko...

    几个好用的Linux命令

    - **nohup 命令**:`nohup` 是一个非常有用的命令,它允许用户运行一个进程,即使用户退出了系统,该进程仍然继续运行。 - 示例命令1:`nohup python -u dm14_name_classfication_lx.py &`。这行命令会在后台运行 `...

    LINUX下简单的命令

    根据提供的文件信息,本文将详细解释Linux环境下与Web项目部署及应用服务器启动相关的简单命令。这些命令对于初学者来说非常...希望本文能为读者提供有用的信息,并促进大家更好地理解和运用Linux环境下的简单命令。

    php守护进程 加linux命令nohup实现任务每秒执行一次

    2. nohup命令的使用:nohup命令在Unix系统中非常常见,用于让程序在关闭终端后不被终止。使用nohup时,程序的所有输出默认会被重定向到当前目录下的nohup.out文件中。如果当前目录不可写,输出会被重定向到用户主...

    采用slf4j+logback输出日志

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志门面,它提供一个简单的接口,允许用户在运行时插入任何日志实现。Logback是SLF4J的一个实现,由著名日志框架Log4j的创始人Ceki Gülcü所创建。Logback...

    linux命令在后台运行

    ### Linux命令在后台运行详解 #### 一、引言 在Linux系统中,有时我们需要运行一些...而`nohup`命令更是为需要长期运行的程序提供了一种可靠的解决方案。掌握这些技巧后,用户能够在使用Linux的过程中更加高效和灵活。

    sell 命令基本学习

    而`xargs`则可以将`find`的结果作为参数传递给其他命令,提高命令执行效率。例如,找到所有最近修改的文本文件并删除它们。 3. **03-后台执行命令.PDF**: 在shell中,使用`&`符号可以将命令放到后台执行,让终端...

    Linux常用命令

    本文主要围绕后台任务的管理展开,详细介绍如何启动、查看、控制和终止后台任务,包括`&`、`ctrl+z`、`jobs`、`fg`、`bg`、`nohup`以及`kill`等命令的使用方法。 #### 一、`&` `&`符号用于将一个命令或脚本放置到...

    Linux 运行jar包的几种方式

    本文将详细介绍在Linux环境下运行jar包的多种方式,以及相关的命令格式和原理。 首先,最常见的命令是`java -jar xxx.jar`,这种方式使得SSH终端被锁定,程序运行过程中可以通过按下CTRL+C中断程序,或者直接关闭...

    解决nohup执行python程序log文件写入不及时的问题

    通过本文介绍的方法,我们可以有效地解决使用`nohup`命令执行Python脚本时日志文件写入不及时的问题。其中,最简单有效的方式是为Python添加`-u`参数,使得所有输出立即生效。此外,通过修改脚本内部的输出逻辑或者...

    Linux后台运行命令

    - **nohup**: 使用`nohup`命令可以确保即使在用户退出登录后,命令仍然在后台继续运行。例如:`nohup command &` #### 三、`cron`与`crontab`命令 `cron`是Linux系统中用于定时执行任务的守护进程。而`crontab`则...

    SecureCRT的用法和Linux常用命令

    需要注意的是,如果直接关闭SecureCRT窗口或会话,后台运行的进程可能也会被终止,除非使用了`nohup`命令或设置了作业控制。 3. **保持会话**:SecureCRT提供了保持会话的功能,即使在客户端断开连接后,也能维持...

    linux命令学习-新手入门

    5. **nohup命令**: - 使用`nohup`命令可以在终端关闭后继续运行程序。例如:`nohup find . -name abc -print > myfind &`。 6. **特殊按键**: - `Ctrl+d`:结束当前shell会话或停止键盘输入。 - `Del`:中断...

    Unix常用命令

    #### 四、其他Unix命令介绍 ##### 1. more 和 less 命令 - **more**: 用于查看文本文件的内容,逐屏显示。 - **less**: 功能类似于more,但提供了更多功能,比如向前和向后滚动。 - 使用示例: `less filename` ##...

    Linux命令参考书(英文版)

    通过输入简单的命令,用户可以执行复杂的任务,这对于系统管理员和开发人员来说尤其有用。本书涵盖了以下主要知识点: 1. **基础概念**:书中首先介绍了Linux的基本概念,包括终端、shell、命令行语法以及如何启动...

    常用 linux 命令手册

    - `nano`:简单易用的文本编辑器,适合初学者。 - `cat`:查看文件内容,`more`和`less`则支持分页查看。 3. 文件搜索: - `grep`:搜索包含特定字符串的行。 - `find`:根据文件名、时间戳、大小等属性查找...

    linux 命令英文全称

    下面将详细介绍部分常用的Linux命令及其全称解释。 #### /bin=BINaries /bin目录存放了系统管理员和普通用户经常使用的命令。这里的“BINaries”是指二进制文件(binary files),即执行文件。 #### /dev=DEVices /...

    手机练习linux命令_linux_手机练习linux_

    `cp`和`mv`命令用于复制和移动文件,`cat`用来查看文件内容,而`nano`或`vi`则是简单的文本编辑器。理解权限管理也是关键,`chmod`用于改变文件或目录的权限,`chown`和`chgrp`则用于更改所有者和组。 此外,学会...

    Linux命令大全包含各种命令,并且分类查找方便

    5. **进程管理**:`ps`列出当前系统中的进程,`kill`发送信号终止进程,`killall`按名字结束所有进程,`nohup`让命令在后台运行不受退出终端影响。 6. **网络和I/O操作**:`ping`测试网络连通性,`netstat`查看网络...

Global site tag (gtag.js) - Google Analytics