nohup 原理及实战
发布日期:2021-05-18 08:48:05 浏览次数:24 分类:精选文章

本文共 859 字,大约阅读时间需要 2 分钟。

在Unix/Linux系统中,当我们需要让某个程序在后台运行时,通常会使用&符号来实现。例如,运行mysql时可以这样做:/usr/local/mysql/bin/mysqld_safe –user=mysql &。然而,许多程序并不能像mysqld那样运行,因此我们需要使用nohup命令。

nohup 命令简介

nohup命令可以让程序在不处理挂起信号的情况下运行,即程序的输出信息将不会显示在终端。无论是否将输出重定向到终端,输出都会附加到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,输出将重定向到$HOME/nohup.out文件中。如果既没有可写的文件也没有可打开的文件用于追加,那么指定的命令将无法执行。如果标准错误是一个终端,则命令的标准错误输出将被重定向到相同的文件描述符。

使用方法

要使用nohup命令,只需在命令前加上nohup即可。例如,如果要运行Spring Boot的JAR包并让其在后台运行,可以使用以下命令:

nohup java -jar springboot.jar &

在这种情况下,即使终端关闭,Spring Boot项目仍然会继续运行。

命令语法

nohup命令的语法非常简单,只需指定要运行的程序及选项即可:

nohup [选项] [参数] &

命令选项

  • --help:在线帮助。
  • --version:显示版本信息。

命令参数

  • 程序及选项:要运行的程序及相关选项。

实际应用案例

  • 运行Spring Boot项目如果你想让Spring Boot项目在后台运行,可以使用以下命令:

    nohup java -jar springboot.jar &
  • 提交作业如果你使用nohup命令提交作业,则所有输出会被重定向到名为nohup.out的文件中。例如:

    nohup command > myout.file 2>&1 &

    在上述命令中,输出会被重定向到myout.file文件中。

  • 以上就是关于nohup命令的全部内容,希望对你的学习有所帮助!

    上一篇:解决CentOS8出现bash乱码问题
    下一篇:Docker容器中的备份、恢复、迁移、导入、导出

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年05月11日 23时15分32秒