运用nohup命令运行Java应用程序带参数详解
对于Java开发人员而言,如何运行Java应用程序及如何带参数是必要的知识。这篇文章将详细介绍nohup命令如何运行Java应用程序带参数。
什么是nohup命令
nohup是Unix和Linux中的常见命令之一。nohup的作用是在用户退出登录后仍能在后台继续运行命令,即使断开与控制终端的连接,nohup仍然会运行,没有任何影响。nohup默认的输出信息保存在nohup.out文件中,可以通过重定向将输出导入到其他文件中。
如何使用nohup运行Java应用程序
在使用nohup运行Java应用程序之前,你需要知道Java程序的主类名,以及如果有必要,还需要提供命令行参数。在输入nohup命令之前,需要使用以下命令将Java应用程序打成jar包:
javac -cp jar文件路径 -d output目录名称 .java文件路径
其中,-cp参数是指定Java应用程序依赖的jar包路径,-d参数是指定编译输出文件的目录,.java文件路径是Java应用程序主类的相对路径。
执行打包后,可以将jar包放到指定的目录下。然后执行以下命令使用nohup启动Java应用程序:
nohup java -jar jar文件名 参数1 参数2 ... &
其中,jar文件名是打包后的jar包的名称,参数1、参数2等是传递给Java应用程序的命令行参数。
nohup命令的额外用法
除了使用nohup命令来启动Java应用程序,nohup还可以用于其他用途。以下是nohup的几个额外用法:
- nohup ping xxx.com &:在后台运行ping命令,不受网络中断的影响,登录用户用无法看到ping命令的输出信息。
- nohup wget -c xxx.com &:在后台运行wget命令,如果网络中断,wget会自动重新下载,不需要再次手动执行下载命令。
- nohup scp 文件名 目标主机:目标路径 &:将文件复制到目标主机上指定路径下,不会受到ssh连接的影响。
总之,nohup命令在终端中运行的程序可以在用户登录退出后继续运行,并将输出信息保存到一个指定的文件中,适用于各种场景中需要在后台长时间运行程序的情况。