/* 来自对 https://www.cnblogs.com/kexianting/p/11628983.html 编辑。 一 什么是 nohub? 1 是 no hang up 的缩写,就是不挂断的意思。 2 如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。 该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。 在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。 3 nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。 在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。 4 在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。 案例 nohup python manage.py runserver 127.0.0.1:9001 > /Application/2019072-MHM/logs/nlp-log.log 2>&1 & 0 – stdin (standard input), 1 – stdout (standard output), 2 – stderr (standard error) ; 2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。 二 nohup和&的区别? & : 指在后台运行 nohup : 不挂断的运行,注意并没有后台运行的功能,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系, 例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行 &是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出 那么,我们可以巧妙的吧他们结合起来用就是 nohup COMMAND & 这样就能使命令永久的在后台执行 例如: 1. sh test.sh & 将sh test.sh任务放到后台 ,关闭xshell,对应的任务也跟着停止。 2. nohup sh test.sh 将sh test.sh任务放到后台,关闭标准输入,终端不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件, 即使关闭xshell退出当前session依然继续运行。 3. nohup sh test.sh & 将sh test.sh任务放到后台,但是依然可以使用标准输入,终端能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件, 即使关闭xshell退出当前session依然继续运行。 */