Hello! 欢迎来到小浪云!


nohup命令与&符号在Linux中有何不同


linux 中,nohup 命令和 & 符号都用于在后台运行程序,但它们的功能和使用方式有所不同。

nohup 命令

nohup 是 “no hang up” 的缩写,旨在让进程忽略挂起(SIGHUP)信号。通常,当用户退出登录或关闭终端时,所有在该终端下启动的进程都会收到 SIGHUP 信号并终止。使用 nohup 可以使进程在用户退出登录后继续运行。

基本用法如下:

nohup command &

这里的 command 是你希望在后台运行的命令。& 符号用于将命令放入后台运行,而 nohup 确保即使终端关闭,命令也会继续运行。

nohup 还会默认将命令的输出重定向到一个名为 nohup.out 的文件中,除非指定了其他输出文件。

& 符号

& 符号用于将命令放入后台运行。当你在命令的末尾加上 &,shell 不会等待该命令执行完毕,而是立即返回并允许用户继续输入其他命令。

例如:

command &

这会让 command 在后台运行,但不会忽略 SIGHUP 信号。如果用户退出登录或关闭终端,该命令通常会被终止。

结合使用

通常,你会看到 nohup 和 & 一起使用,以确保命令在后台运行并且不受终端关闭的影响:

nohup command &

这样,即使用户退出登录或关闭终端,command 也会继续运行,并且输出会被重定向到 nohup.out 文件中。

总结

  • nohup:用于忽略挂起信号,使进程在用户退出登录后继续运行。
  • &:用于将命令放入后台运行,但不提供对挂起信号的防护。
  • nohup &:结合了两者的功能,使命令在后台运行且不受终端关闭的影响。

希望这些解释能帮助你理解 nohup 命令和 & 符号在 Linux 中的不同用途。

nohup命令与&符号在Linux中有何不同

相关阅读