• 周四. 11 月 21st, 2024

nohup基本用法

animaeul.

2 月 26, 2024 #nohup

 

nohup 是一个在 Unix 和 Linux 操作系统中广泛使用的命令,它的全称是 “no hang up”,即不挂起。当你在一个终端会话中运行一个命令或脚本,并且想要确保这个进程在退出终端或网络断开时仍然能够持续运行,这时就可以使用 nohup 命令。以下是 nohup 命令的常见用法:

基本用法:

nohup command &

 

这里的 command 是你想要在后台持续运行的命令或程序。末尾加上 & 符号是为了让命令在后台运行。

标准输出和错误输出重定向: 默认情况下,nohup 运行的命令的标准输出(stdout)和标准错误输出(stderr)会被重定向到一个名为 nohup.out 的文件中,如果当前目录下没有这个文件则会被创建。

如果你想自定义输出文件,可以这样操作:

nohup command > output.log 2>&1 &

 

在这个例子中,command 的标准输出被重定向到 output.log 文件,同时标准错误输出也被合并到标准输出并写入同一个文件。

附加选项: 虽然 nohup 本身没有额外的选项,但结合其他命令或 shell 特性,它可以实现更多功能。例如,如果你想禁止输出重定向到任何文件,可以这样做:

nohup command >/dev/null 2>&1 &

 

这将会丢弃所有输出,将标准输出和错误输出都发送到黑洞设备 /dev/null

实例:

  • 后台运行一个脚本并记录输出:
    nohup ./myscript.sh > myscript.log 2>&1 &

    让一个服务在后台持续运行,即使关闭终端也不影响其运行:

    nohup service_name &

     

    总之,nohup 是一个非常实用的命令,它使得进程能够在用户退出终端后不受 SIGHUP 信号的影响而继续运行,对于长时间运行的任务或后台服务来说尤为有用。

animaeul.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注