nohup 命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行
将输出重定向到文件:
使用 > 或 >> 将标准输出(stdout)和标准错误(stderr)重定向到文件。例如:
nohup your_command > output.log 2>&1 &
这里,your_command 是你要运行的命令,output.log 是输出文件的名称。2>&1 表示将标准错误(2)重定向到标准输出(1),& 表示将命令放入后台运行。
使用 script 命令:
script 命令可以创建一个新的 shell 会话,并将所有输出记录到文件中。例如:
script -q -c "your_command" output.log
这里,-q 选项表示安静模式(不显示 script 命令本身的输出),-c 选项表示执行指定的命令,output.log 是输出文件的名称。
使用 tmux 或 screen:
tmux 和 screen 是终端复用器,允许你在单个终端窗口中运行多个终端会话。这样,即使关闭终端或断开连接,程序也会继续运行。例如,使用 tmux:
tmux new-session -d -s your_session_name "your_command"
这里,new-session 表示创建一个新的会话,-d 表示在后台运行,-s 表示会话名称,your_command 是你要运行的命令。
要重新连接到会话,可以使用 tmux attach-session -t your_session_name。
通过这些方法,你可以避免在使用 nohup 命令时输出混乱。