nohup命令用于在Linux系统中运行一个程序,使其在用户退出登录后仍然继续运行。而&符号则用于将命令放入后台执行。将它们配合使用可以确保程序在后台持续运行,即使用户断开连接也不会中断。
以下是nohup命令与&符号配合使用的详细方法:
基本语法:
nohup command &> output.log &
command 是你想要运行的命令。output.log 是你希望将标准输出和标准错误重定向到的日志文件。& 将整个命令放入后台执行。示例:
假设你想运行一个名为 my_script.sh 的脚本,并希望将其输出重定向到一个名为 my_script.log 的文件中,可以使用以下命令:
nohup ./my_script.sh &> my_script.log &
nohup:忽略挂起信号(SIGHUP),确保程序在用户退出登录后仍然运行。&>:将标准输出和标准错误重定向到指定的文件。如果不使用 &>,则只会重定向标准输出。&:将命令放入后台执行,这样你可以在命令运行时继续在终端中执行其他操作。日志文件:
&> 可以确保所有输出(包括标准输出和标准错误)都被写入到指定的日志文件中。> 或 2>。后台运行:
& 将命令放入后台后,终端会立即返回提示符,你可以继续在终端中执行其他命令。查看后台进程:
jobs 命令查看当前终端的后台进程。ps aux | grep command 可以查看系统中所有与该命令相关的进程。终止后台进程:
kill 命令终止后台进程。首先需要找到进程的PID(进程ID),可以使用 ps aux | grep command 查找。kill 1234 终止该进程。通过以上方法,你可以有效地使用 nohup 和 & 符号在Linux系统中运行后台程序,并确保其在用户退出登录后仍然继续运行。