Linux-Nohup-Base-1

nohup 命令

原文地址:https://www.ibm.com/docs/zh/aix/7.3?topic=n-nohup-command

用途

不挂断地运行命令。

语法

诺胡布 { -p 标识 | 命令 [ 参数 … ] [ & ] }

描述

nohup 命令运行由 Command 参数和任何相关 Arg 参数指定的命令,忽略所有挂起信号 (SIGHUP) 或修改使用 -p 选项指定的进程以忽略所有 SIGHUP 信号。 SIGHUP 是在进程的控制终端关闭时发送给进程的信号。

nohup 命令还可用于在注销后在后台运行程序。 To run a nohup command in the background, add an & (ampersand) to the end of the command.如果在终端上显示标准错误,并且标准输出既未显示在终端上,也未发送到用户指定的输出文件 (缺省输出文件为 nohup.out) ,那么不会创建或打开 ./nohup.out 和 $HOME/nohup.out 文件以追加错误消息。 nohup 命令不执行通过 nohup 命令指定的参数实用程序,并以退出状态 127 退出。

注: 不能同时指定 -p pid 和 Command 选项。当使用-p pid 标志时,不会将指定进程的输出重定向到 nohup.out 文件。

标志

描述
-p pid pid 是正在运行的进程的进程标识。nohup命令修改指定的进程,以忽略所有挂起 (SIGHUP) 信号。

退出状态

本命令返回以下退出值:

描述
126 能找到Command参数指定的命令,但是该命令不能被调用。
127 在nohup命令中发生错误,或者找不到Command参数指定的命令。

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

示例

1.要在注销后在后台中运行命令,请输入:

1
$ nohup find / -print &

输入该命令后,显示如下:

1
2
670
$ Sending output to nohup.out

进程标识号更改为 &(表示“and”的符号)启动的后台进程的标识号。
该消息 Sending output to nohup.out通知您 find/-print 命令的输出位于 nohup.out 文件中。
您可以在看到这些消息后注销,即使 find 命令仍在运行也是如此。

2.要在后台中运行命令并将标准输出重定向到其他文件,请输入:

1
$ nohup find / -print >filenames &

此示例运行 find/-print 命令,并将其输出存储在名为 filenames。现在只显示进程标识和提示:

1
677

请先等待,然后再注销,因为nohup 命令需要一点时间来启动由 Command 参数指定的命令。 如果太快注销,Command 参数指定的命令可能根本没运行。 一旦 Command 参数指定的命令启动,注销就不会对其产生影响。

**3.要运行多条命令,那么使用 shell 过程。 **
例如,如果写 shell 过程:

1
neqn math1 | nroff > fmath1

并将其命名为 nnfmath1文件,您可以对该文件中的所有命令运行 nohup 命令。nnfmath1使用以下命令的文件:

1
nohup sh nnfmath1

4.如果将执行许可权分配给nnfmath1文件,发出以下命令将获得相同的结果:

1
nohup nnfmath1

5.运行nnfmath1在 Korn shell 程序中,输入:

1
nohup nnfmath1 &

6.运行nnfmath1在 Korn shell 程序中,输入:

1
nohup ksh nnfmath1

7.要使运行的进程忽略所有挂起信号,请输入:

1
nohup -p 161792
Contents
  1. 1. nohup 命令
    1. 1.1. 用途
    2. 1.2. 语法
    3. 1.3. 描述
    4. 1.4. 标志
    5. 1.5. 退出状态
    6. 1.6. 示例
|