nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行
假设你有一个名为my_script.sh
的脚本,你想在后台运行它,并将输出重定向到一个名为output.log
的文件中。你可以使用以下命令:
nohup ./my_script.sh > output.log 2>&1 &
这里是如何使用管道的:
./my_script.sh
是你要运行的脚本。>
将标准输出重定向到指定的文件。output.log
是输出文件的名称。2>&1
将标准错误(文件描述符2)重定向到标准输出(文件描述符1),这样错误信息也会被写入到output.log
文件中。&
将整个命令放入后台运行。如果你想在后台运行的程序中使用管道,可以将管道命令放在脚本中,然后按照上述方法使用nohup
运行脚本。例如,假设你有一个名为script_with_pipe.sh
的脚本,内容如下:
#!/bin/bash
command1 | command2 > output.log 2>&1
你可以使用以下命令在后台运行此脚本:
nohup ./script_with_pipe.sh &
这将在后台运行script_with_pipe.sh
,并将command1
的输出通过管道传递给command2
,然后将结果重定向到output.log
文件中。