数据迁移6,nohup详解

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 &
将sh test.sh任务放到后台,但是依然可以使用标准输入,前台能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。

猜你喜欢

转载自blog.csdn.net/ademen/article/details/83382614