linux

nohup命令的常见用法和示例

小樊
45
2025-09-10 04:20:51
栏目: 编程语言

nohup(no hang-up)是一个在Unix和Linux系统中用于在后台运行命令的实用程序,即使关闭终端或断开连接,该命令也会继续运行。以下是nohup命令的一些常见用法和示例:

基本用法

  1. 基本格式

    nohup command [arguments] &
    
    • command:要运行的命令。
    • [arguments]:传递给命令的参数。
    • &:将命令放入后台运行。
  2. 输出重定向: 默认情况下,nohup会将命令的输出重定向到当前目录下的nohup.out文件中。你也可以指定其他文件来保存输出。

    nohup command > output.log 2>&1 &
    
    • >:将标准输出重定向到output.log
    • 2>&1:将标准错误输出重定向到标准输出,即也写入output.log

示例

示例1:运行一个简单的命令

nohup sleep 3600 &

这个命令会让系统在后台睡眠3600秒(1小时),即使你关闭终端,它也会继续运行。

示例2:运行一个需要长时间运行的脚本

假设你有一个名为long_running_script.sh的脚本:

nohup ./long_running_script.sh > script_output.log 2>&1 &

这个命令会在后台运行脚本,并将所有输出(包括标准输出和标准错误)保存到script_output.log文件中。

示例3:运行一个Web服务器

如果你想启动一个Web服务器并在后台运行,可以使用nohup

nohup python3 -m http.server 8000 > server_output.log 2>&1 &

这个命令会启动一个Python HTTP服务器,监听端口8000,并将所有输出保存到server_output.log文件中。

示例4:运行一个数据库服务

假设你想启动一个MySQL服务并在后台运行:

nohup mysqld_safe --user=mysql &

这个命令会启动MySQL服务,并将其放入后台运行。

注意事项

通过这些用法和示例,你应该能够有效地使用nohup命令在后台运行各种命令和脚本。

0
看了该问题的人还看了