我需要使用nohup和&

Jac*_*ack 0 linux shell

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

nohup ./sendData.sh >logs/send.log 2>&1 &
Run Code Online (Sandbox Code Playgroud)

由于nohup已经使用过,我还需要添加&路径吗?

pfn*_*sel 6

告诉终端不挂机,即使父终端关闭.&告诉终端将进程发送到后台.所以

command &
Run Code Online (Sandbox Code Playgroud)

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

nohup command
Run Code Online (Sandbox Code Playgroud)

不会发送command到后台,但是当你关闭终端时,该过程将一直持续到完成或终止.

nohup command &
Run Code Online (Sandbox Code Playgroud)

将发送command到后台,即使关闭终端,也不会终止进程.通常在使用,人们也希望进程处于后台,这就是为什么你会看到的组合,而&不是经常.

  • 请原谅我对你本来很好的回复挑剔。`nohup` 不会告诉终端任何事情,这更像是 `disown -h` 会做的事情。Nohup 是一个忽略“HUP”信号并分叉执行其第一个命令行参数并转发其他参数的程序。因此,从技术上讲,终端确实会尝试挂断电话,只是没有人关心它要说什么。 (3认同)