【问题标题】:do I need to use nohup and & together我需要同时使用 nohup 和 &
【发布时间】:2013-11-11 18:22:54
【问题描述】:

我看到很多人都在使用以下命令:

nohup ./sendData.sh >logs/send.log 2>&1 &

既然nohup已经被使用了,还需要在路径中添加&吗?

【问题讨论】:

  • 是的,否则它不会在后台运行,你只能在进程完成后再次使用你的shell。
  • 我的意思是我需要一起使用它们吗?我可以只使用 nohup 还是只使用 & ?谢谢!
  • 您为什么不尝试使用更简单的命令,即nohup sleep 60 & 并摆弄它,直到您看到每个元素添加到图片中为止。祝你好运。
  • 请注意,有一个可以说是“更清洁”的替代方案:stackoverflow.com/a/9646339/572743

标签: linux shell


【解决方案1】:

告诉终端不要挂断,即使父终端已关闭。 & 告诉终端将进程发送到后台。所以

command &

会将command 发送到后台。然后,您可以使用 shell 调用其他 commands。如果终端退出,则作业将被终止。

nohup command

不会将command 发送到后台,但是当您关闭终端时,该进程将继续运行,直到完成或终止。

nohup command &

会将command 发送到后台并且即使您关闭终端,该进程也不会被终止。通常在使用时,还希望进程在后台,这就是为什么你经常看到&的组合。

【讨论】:

  • 请原谅我对您原本出色的回复挑剔。 nohup 没有告诉终端任何东西,这更像是什么disown -h 可以。 Nohup 是一个忽略HUP 信号的程序,它分叉执行它的第一个命令行参数,转发其他参数。所以,从技术上讲,终端确实会尝试挂断,只是没人关心它要说什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 2017-02-28
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2016-07-20
  • 2010-11-26
相关资源
最近更新 更多