nohup
命令用于在后台运行程序,使其在用户退出登录后继续运行。默认情况下,nohup
会忽略挂起信号(SIGHUP),这是为了防止程序在用户退出登录时被终止。
具体来说,nohup
会忽略以下挂起信号:
此外,nohup
还会将标准输出和标准错误重定向到一个名为 nohup.out
的文件中,除非指定了其他输出文件。
如果你需要忽略其他信号,可以使用 trap
命令来处理这些信号。例如,如果你想忽略 SIGINT(信号编号 2,通常由 Ctrl+C 触发),可以在脚本中添加以下行:
trap '' SIGINT
这样,即使程序接收到 SIGINT 信号,也不会终止。