nohup 命令和 & 符号在 Linux 和 Unix 系统中分别有不同的作用,但它们可以一起使用以实现特定的目的。
nohup 是 “no hang up” 的缩写,用于在用户退出登录后继续运行命令。当使用 nohup 运行一个命令时,该命令会忽略挂起(SIGHUP)信号,这样即使用户断开与系统的连接,命令也会继续运行。
& 符号用于将命令放入后台运行。当你在一个命令后面加上 & 符号时,该命令会在后台执行,而不会阻塞当前终端。
当你想要在用户退出登录后继续在后台运行一个命令时,可以将 nohup 和 & 结合使用。例如:
nohup your_command &
这条命令会做以下几件事:
nohup 运行 your_command,使其忽略挂起信号。& 将命令放入后台运行。这样,即使你关闭终端或断开与系统的连接,your_command 也会继续运行。
默认情况下,nohup 会将命令的输出重定向到一个名为 nohup.out 的文件中。如果你想要将输出重定向到其他文件,可以使用以下语法:
nohup your_command > output_file 2>&1 &
这条命令会将标准输出和标准错误都重定向到 output_file 文件中,并将命令放入后台运行。
总之,nohup 和 & 符号可以一起使用,以实现让命令在用户退出登录后继续在后台运行的目的。