首页 > V2EX > V2EX-Linux 执行一段 shell 命令加与不加 nohup 到底有什么区别?
2021
09-17

V2EX-Linux 执行一段 shell 命令加与不加 nohup 到底有什么区别?

BaseException:

请教 Linux 大佬、运维大佬,标题中的问题。下面我先抛砖引玉。

nohup 英文全称 no hang up (不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

以上来自 https://www.runoob.com/linux/linux-comm-nohup.html

执行一个 java 程序,使用命令 1 或 2

  1. java -jar xxx.jar >> ./xxx.log 2>&1 &
  2. nohup java -jar xxx.jar >> ./xxx.log 2>&1 &

问题 1:

我使用命令 1 执行的程序,在退出终端之后,进程依然很好的存活着啊,nohup 的真正作用是什么?

问题 2:

>> ./xxx.log 这个 >> 跟文件之间需要空格吗?还是有没有空格都一样,我经过测试似乎是一样达到目的的。我知道 > 是直接覆盖, >> 是追加到文件(如果之前文件存在且有内容)。

谢谢彦祖们。

from V2EX-最新主题 https://ift.tt/3ArhfR2

最后编辑:
作者:分享菌
这个作者貌似有点懒,什么都没有留下。

留下一个回复