文章目录
一、什么是 nohup 命令?
nohup 命令会将被执行的命令的输出信息重定向到一个名为nohup.out
的文件中。这样,即使命令在后台执行,我们也可以随时查看其输出结果。
二、如何使用 nohup 命令?
nohup 命令的基本语法如下:
nohup command &
其中,command
代表要在后台执行的命令。在命令末尾添加&
符号可以将命令放置在后台执行。
当我们运行上述命令时,nohup 将命令放入后台执行,并将输出结果重定向到nohup.out
文件中。
此外,我们还可以选择指定重定向输出文件的名称,如下所示:
nohup command > output-file 2>&1 &
上述命令中的output-file
是我们希望将输出结果保存的文件名。2>&1
表示将标准错误输出也重定向到相同的文件。
三、实际的例子
下面是8个实际的例子,展示了如何使用 nohup 命令:
3.1 在后台运行一个长时间执行的命令
nohup ./long-running-command.sh &
该命令将 long-running-command.sh
脚本在后台执行,即使终端关闭或用户注销,脚本仍然会继续执行。
3.2 启动一个 Web 服务器并将输出保存到日志文件
nohup python3 -m http.server > server.log &
该命令启动了一个简单的 Python HTTP 服务器,并将输出结果保存到名为 server.log
的文件中。
3.3 运行后台进程以观察文件变化
nohup tail -f access.log > log-changes.log &
上述命令会持续监视名为 access.log
的文件的变化,并将变化内容写入 log-changes.log
文件中。
3.4 在后台运行一个定时任务
nohup crontab my-cron-job.txt &
该命令会从名为 my-cron-job.txt
的文件中读取定时任务列表,并在后台按照指定的时间表执行这些任务。
3.5 后台运行一个数据库备份脚本
nohup ./backup.sh > backup.log 2>&1 &
该命令将 backup.sh
脚本在后台执行,并将备份结果保存到 backup.log
文件中,同时也重定向了标准错误输出。
3.6 运行一个需要长时间运行的数据处理任务
nohup ./data-processing.sh > processing.log &
上述命令将 data-processing.sh
脚本在后台执行,并将数据处理过程的输出结果保存到 processing.log
文件中。
3.7 在后台运行一个具有图形界面的应用程序
nohup firefox &
该命令在后台启动 Firefox
浏览器,并允许终端关闭而不会影响浏览器的运行。
3.8 启动一个监听网络连接的服务器
nohup nc -l 8080 > connections.log &
上述命令将启动一个监听 8080 端口的服务器,并将所有连接信息保存到 connections.log
文件中。
四、总结
nohup
命令是 Linux
系统中一个非常有用的工具,可以让命令在后台执行而不受终端关闭的影响。我们可以通过重定向输出,将命令的输出结果保存到文件中,方便后续查看和分析。在实际应用中,nohup
命令可以帮助我们进行长时间运行的任务、服务器启动、定时任务等操作。只要掌握了 nohup
命令的基本用法,我们就可以更好地利用 Linux
系统的强大功能。
推荐你阅读本专栏 Linux命令大全,以便更深入地理解和应用这些命令。