
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命令的全部内容,希望对你的学习有所帮助!