https://www.cnblogs.com/jinxiao-pu/p/9131057.html https://baike.baidu.com/item/nohup/5683841 1 语法 nohup Command [ Arg … ] [ & ] & : 指在后台运行 nohup : 不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行
2 说明 如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。 例子 nohup command > myout.file 2>&1 & nohup imp ecds/pl2/ecds_pl2@ecdsdb file=XXX.dmp log=XXX.log > myout.file 2>&1 & 在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ; 2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。
3 查看任务。 (1)jobs -l jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令) (2)ps -ef ps -def | grep XXX(比如imp):查找进程,最后一行总是会grep自己
4 nohup命令的使用场景: 在后台实现文件的上传和下载。数据的导入导出
5.加不加 nohup和&的区别 a. sh test.sh & 将sh test.sh任务放到后台 ,即使关闭xshell退出当前session依然继续运行,但标准输出和标准错误信息会丢失 b. nohup sh test.sh 将sh test.sh任务放到后台,关闭标准输入,前台不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。 c. nohup sh test.sh > nohup_test.out & 将sh test.sh任务放到后台,但是依然可以使用标准输入,前台能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup_test.out文件,即使关闭xshell退出当前session依然继续运行。