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

Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台:

         /usr/local/mysql/bin/mysqld_safe --user=mysql &

 但是我们很多程序并不象mysqld一样可以做成守护进程,可能我们的程序只是普通程序而已,一般这种程序即使使用 & 结尾,如果终端关闭,那么程序也会被关闭。为了能够后台运行,我们需要使用nohup这个命令,比如我们有个start.sh需要在后台运行,并且希望在后台能够一直运行,那么就使用nohup:

            nohup /root/start.sh &

          在shell中回车后提示:

           [~]$ appending output to nohup.out

      原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。

但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,察看nohup.out可以看到在关闭终端瞬间服务自动关闭。

咨询红旗Linux工程师后,他也不得其解,在我的终端上执行后,他启动的进程竟然在关闭终端后依然运行。

在第二遍给我演示时,我才发现我和他操作终端时的一个细节不同:他是在当shell中提示了nohup成功后还需要按终端上键盘任意键退回到 shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端.。所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。

这个细节有人和我一样没注意到,所以在这儿记录一下了。


附:nohup命令参考

nohup 命令

  用途:不挂断地运行命令。

  语法:nohup Command [ Arg ... ] [ & ]

  描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示"and"的符号)到命令的尾部。

  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

  退出状态:该命令返回下列出口值:

  126 可以查找但不能调用 Command 参数指定的命令。

  127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。

  否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

  nohup命令及其输出文件

  nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。

  该命令的一般形式为:nohup command &

  使用nohup命令提交作业

  如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

  nohup command > myout.file 2>&1 &

  在上面的例子中,输出被重定向到myout.file文件中。

  使用 jobs 查看任务。

  使用 fg %n 关闭。

  另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样就可以利用这些命令在后台上传和下载文件了。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让VC编译的程序链接到系统的 msvcrt.dll 的方法

安装 DDK 或者 WDK &#xff0c;提取里面的 msvcrt.lib 和 msvcrtd.lib &#xff0c;这两个文件分别对应 release 和 debug 版本。 然后再按下图进行设置&#xff1a; 编译生成的程序&#xff0c;就直接链接系统的 msvcrt.dll 上了&#xff0c;debug 版是链接到 msvcrtd.dll。

局域网arp攻击_网络安全基础之ARP攻击和防御

本文转载于 SegmentFault 社区作者&#xff1a;吴小风前言在看这篇文章之前&#xff0c;请大家先看下交换机的工作原理&#xff0c;不知大家有没有想过数据链路层中头部协议数据帧的目的MAC地址是如何获取的呢&#xff1f;这就是今天的主角ARP协议&#xff0c;通过广播来获取IP…

SocketServer模块,hmac模块验证client合法性

hmac模块&#xff1a; 1.模块初识&#xff1a; import hmac # h hmac.new() #括号里要给它连个bytes类型&#xff0c;一个是自定义的secret_key&#xff0c;一个是你想进行加密的bytes # 密文 h.digest() # hmac.compare_digest() #括号内传另外一个密文&#xff0c;看是否相…

以实例让你真正明白mapreduce---填空式、分布(分割)编程

问题导读&#xff1a;1.如何在讲mapreduce函数中的字符串等信息&#xff0c;输出到eclipse控制台&#xff1f;2.除了使用下文方法&#xff0c;还有其它方法输出到控制台&#xff1f;3.map中&#xff0c;系统默认接受的value值是什么&#xff1f;4.reduce输出不是自己想要的结果…

使用Spring编写和使用SOAP Web服务

在RESTful Web服务时代&#xff0c;我有机会使用SOAP Web Service。 为此&#xff0c;我选择了Spring &#xff0c;这是因为我们已经在项目中使用Spring作为后端框架&#xff0c;其次它提供了一种直观的方式来与具有明确定义的边界的服务进行交互&#xff0c;以通过WebServiceT…

前端---vscode 的基本使用

1. vscode 的基本介绍 全拼是 Visual Studio Code (简称 VS Code) 是由微软研发的一款免费、开源的跨平台代码编辑器&#xff0c;目前是前端(网页)开发使用最多的一款软件开发工具。 2. vscode 的安装 下载网址: Download Visual Studio Code - Mac, Linux, Windows选择对应…

建立Win32 Console Project时会出“error LNK1123” 错误

VS2010在经历一些更新后&#xff0c;建立Win32 Console Project时会出“error LNK1123” 错误&#xff0c;解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可&#xff0c;但是没新建一个项目都要这样设置一次。在建立VS2010 Win32 Proje…

将同时共享的用户数量限制为20_共享充电宝市场需求及计划

18269363827 冯从2016-2018年这些时间中共享充电宝市场空间巨大&#xff0c;据权威数据显示共享充电宝市场整个用户数量实现了从0-5888万的巨大增幅&#xff0c;2019年共享充电市场用户规模将继续保持大幅增长至年底达1亿用户规模。在2019年充电宝租赁市场气势盛大&#xff0c;…

mysql中limit用法

使用查询语句的时候&#xff0c;经常要返回前几条或者中间某几行数据&#xff0c;这个时候怎么办呢&#xff1f;不用担心&#xff0c;mysql已 经为我们提供了这样一个功能。 SELECT*FROMtableLIMIT [offset,]rows |rows OFFSET offsetLIMIT 子句可以被用于强制 SELECT 语句返回…

Redis实现之整数集合

整数集合 整数集合&#xff08;insert&#xff09;是集合键的底层实现之一&#xff0c;当一个集合只包含整数值元素&#xff0c;并且这个集合的元素数量不多时&#xff0c;Redis就会使用整数集合作为集合键的底层实现。举个栗子&#xff0c;如果我们创建一个只包含五个元素的集…

启动rocketmq 报错_RocketMQ为什么要保证订阅关系的一致性?

前段时间有个朋友向我提了一个问题&#xff0c;他说在搭建 RocketMQ 集群过程中遇到了关于消费订阅的问题&#xff0c;具体问题如下&#xff1a;然后他发了报错的日志给我看&#xff1a;the consumers subscription not exist我第一时间在源码里找到了报错的位置&#xff1a;or…

scala rest_使用路标的Scala和Java的Twitter REST API

scala rest如果您已经阅读了此博客上的其他文章&#xff0c;您可能会知道我喜欢创建各种数据集的可视化。 我刚刚开始一个小项目&#xff0c;在这里我想可视化来自Twitter的一些数据。 为此&#xff0c;我想直接从Twitter检索有关关注者的信息和个人资料信息。 我实际上开始寻找…

MySql中关于某列中相同数值连续出现次数的统计

MySql中关于某列中相同数值连续出现次数的统计 原表如下&#xff1a; www.2cto.com 100 101 102 100 100 103 104 102 102 105 106 101 101 输出如下&#xff1a; www.2cto.com 100 1 101 2 102 3 100 4 100 4 103 5 104 6 10…

设计模式之- 外观模式(Facade Pattern)

外观模式 外观模式(Facade Pattern)&#xff1a;外部与一个子系统的通信必须通过一个统一的外观对象进行&#xff0c;为子系统中的一组接口提供一个一致的界面&#xff0c;外观模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。外观模式又称为门面模式&…

python的while和for循环

while语句&#xff0c;提供了编写通用循环的一种方法&#xff0c;而for语句是用来遍历序列对象内的元素&#xff0c;并对每个元素运行一个代码块。break,continue用在循环内&#xff0c;跳出整个循环或者跳出一次循环。 一、while循环 1、一般格式 格式&#xff1a;首行以及测试…

go build 无文件_GO笔记之详解GO的编译执行流程

上篇文章介绍了Golang在不同系统下的安装&#xff0c;并完成了经典的Hello World案例。在这个过程中&#xff0c;我们用到了go run命令&#xff0c;它完成源码从编译到执行的整个过程。今天来详细介绍下这个过程。简单理解&#xff0c;go run 可等价于 go build 执行。 build命…

使用Spring Security和jdbc的Spring Boot第2部分

在上一篇文章中&#xff0c;我们基于Spring Security发出请求的默认表架构实现了安全性。 考虑到用户和角色&#xff0c;应用程序开发人员使用适合其需求的架构。 Spring使我们能够指定所需的查询&#xff0c;以便检索用户名&#xff0c;密码和角色等信息。 我们的自定义表将…

MySQL的一些简单语句

mysql 统计 表的数量&#xff1a;SELECT COUNT(1) FROM information_schema.TABLES WHERE TABLE_SCHEMA 你的数据库; MySQL的一些基础语句&#xff1a; 行是记录 列是字段 创建库 CREATE DATABASE [IF NOT EXISTS] 数据库名 [参数[ 参数] [ 参数]...]; 参数: CHARACTER …

【题解】Atcoder ARC#90 F-Number of Digits

Atcoder刷不动的每日一题... 首先注意到一个事实&#xff1a;随着 \(l, r\) 的增大&#xff0c;\(f(r) - f(l)\) 会越来越小。考虑暴力处理出小数据的情况&#xff0c;我们可以发现对于左端点 \(f(l) < 7\) 的情况下&#xff0c;右端点的最大限度为 \(\frac{10^8}{8} 10^7…

java分页查询_面试官:数据量很大,分页查询很慢,有什么优化方案?

准备工作一般分页查询使用子查询优化使用 id 限定优化使用临时表优化关于数据表的id说明《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与…