from : https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_61/com.ibm.aix.cmds4/nohup.htm
用途
不挂断地运行命令。
语法
nohup { -p pid | Command [ Arg ... ] [ & ] }
描述
nohup
命令运行由Command参数和任何相关的Arg参数指定的命令,同时忽略所有的挂起 (SIGHUP) 信号,或者修改用-p选项指定的进程来忽略所有的挂起 (SIGHUP) 信号。
在注销后还可以使用nohup命令运行后台中的程序。要运行后台中的nohup命令,添加&(表示“and”的符号)到命令的尾部。
注:
-p pid 和 Command 不能一起指定。
使用-p pid
时,指定进程的输出将不会重定向到nohup.out。
标志
项目 | 描述 |
---|---|
-p pid | pid 是正在运行的进程的进程标识。nohup 命令修改指定进程来忽略所有的挂起 (SIGHUP) 信号。 |
退出状态
此命令返回以下退出值:
项目 | 描述 |
---|---|
126 | 能找到 Command 参数指定的命令,但是该命令不能被调用。 |
127 | nohup 命令发生错误或不能查找由 Command 参数指定的命令。 |
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
示例
要在注销后在后台中运行命令,请输入:
$ nohup find / -print &
输入该命令后,显示如下:
670
$ Sending output to nohup.out
进程标识号更改为 &(表示“and”的符号)启动的后台进程的标识号。消息输出发送到 nohup.out 通知您来自 find / -print 命令的输出在 nohup.out 文件中。查看这些消息后可以注销,即使 find 命令仍在运行。
要在后台中运行命令并将标准输出重定向到其他文件,请输入:
$ nohup find / -print >filenames &
本例运行find / -print
命令并且将输出存储到命名为filenames的文件中。现在只显示进程标识和提示:
677
$
因为 nohup 命令需要片刻时间来启动 Command 参数指定的命令,在注销前请等待。如果太快注销,Command 参数指定的命令可能根本没运行。一旦 Command 参数指定的命令启动,注销就不会对其产生影响。
要运行多条命令,那么使用 shell 过程。例如,如果写 shell 过程:
neqn math1 | nroff > fmath1
且命名它为nnfmath1文件,那么可以为nnfmath1文件中所有命令运行nohup命令,命令为:
nohup sh nnfmath1
如果您将执行许可权分配到nnfmath1文件,发出此命令会得到相同的结果:
nohup nnfmath1
要在后台中运行 nnfmath1 文件,请输入:
nohup nnfmath1 &
要在 Korn shell 程序中运行 nnfmath1 文件,请输入:
nohup ksh nnfmath1copy to clipboard
要使运行的进程忽略所有挂起信号,请输入:
nohup -p 161792