Loading

Linux nohup有哪些使用方法

以下是一些nohup命令的用法示例:

后台运行命令

要在后台运行命令,只需要在命令行中输入以下命令即可:

nohup COMMAND &

例如,在后台运行一个Bash脚本:

nohup bash test.sh &

标准输出重定向到文件

nohup bash test.sh > test.log &

标准错误输出重定向到文件

nohup bash test.sh 2> test_err.log &

将标准输出和标准错误输出都重定向到文件

1. 重定向到同一文件

nohup bash test.sh > test.log 2>&1  &

2. 重定向到不同文件

nohup bash test.sh  >  test.log  2>  test_err.log & 

3. 一个更为复杂的例子,重定向标准输入(stdin):

nohup ./main.go > test.log 2> test_err.log  < /dev/null &

这里多出来一个< /dev/null,意思是将标准输入重定向到/dev/null,以确保程序不会从标准输入中读取任何数据。

这个是为了解决一个实际问题:SSH会话常常拒绝注销(或者挂起),因为它不愿意去丢失与后台job(s)进行交互的数据。当遇到这个问题的时候,可以使用上面的命令,通过三次重定向来解决。

posted @ 2023-08-13 18:42  Carvers  阅读(95)  评论(0)    收藏  举报