linux后台运行jar包命令

fiy 其他 237

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,可以使用nohup命令将jar包以后台方式运行。具体命令如下:

    nohup java -jar your_jar_file.jar &

    其中,your_jar_file.jar为你要运行的jar包文件名。这样运行后,会将应用程序放在后台运行,并把输出重定向到文件 nohup.out 中,这样即使关闭了终端,应用程序也会继续运行。

    如果你想指定输出文件的名称和路径,可以使用一下命令:

    nohup java -jar your_jar_file.jar > output_file_path 2>&1 &

    其中,output_file_path为指定的输出文件路径和名称。

    同时,如果你想要在开机启动时自动运行该jar包,可以将命令添加到/etc/rc.local文件中。在该文件中添加如下命令:

    nohup java -jar your_jar_file.jar > output_file_path 2>&1 &

    其中,your_jar_file.jar为你的jar包文件名,output_file_path为指定的输出文件路径和名称。

    这样,每次系统启动时,该jar包都会自动运行。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux系统上,可以使用以下命令将Jar包在后台运行:

    1. 使用nohup命令:nohup命令可用于将程序在后台运行,并将输出重定向到指定文件,即使用户注销也可以保持程序运行。

    “`shell
    nohup java -jar your_jar_file.jar > log.txt 2>&1 &
    “`

    这会将your_jar_file.jar文件以后台进程运行,并将输出重定向到log.txt文件中。使用2>&1将标准错误输出与标准输出合并后重定向到同一个文件。&符号表示在后台运行命令。

    2. 使用screen命令:screen是一个终端复用工具,可以在一个终端会话中创建多个终端,并且可以在不同终端之间切换。通过在screen会话中运行Jar包,即使用户注销也可以保持程序运行。

    “`shell
    screen -S your_session_name
    java -jar your_jar_file.jar
    “`

    在screen会话中,通过运行java -jar命令来启动Jar包。使用Ctrl+A然后按下D键来将会话分离,即切换回原来的终端,并且Jar包会继续在后台运行。

    3. 使用tmux命令:tmux是类似于screen的终端复用工具,可以在一个终端会话中创建多个终端,并且可以在不同终端之间切换。通过在tmux会话中运行Jar包,即使用户注销也可以保持程序运行。

    “`shell
    tmux new-session -s your_session_name -d “java -jar your_jar_file.jar”
    “`

    这会创建一个名为your_session_name的tmux会话,并在会话中运行java -jar命令启动Jar包。-d参数表示会话创建完毕后立即分离,程序会在后台运行。

    4. 使用systemd服务:在一些Linux发行版上,可以通过systemd服务来管理后台程序。首先,创建一个your_service_name.service文件:

    “`shell
    sudo nano /etc/systemd/system/your_service_name.service
    “`

    将以下内容添加到your_service_name.service文件中:

    “`shell
    [Unit]
    Description=Your Service

    [Service]
    ExecStart=/usr/bin/java -jar /path/to/your_jar_file.jar

    [Install]
    WantedBy=default.target
    “`

    修改ExecStart为你的Java可执行文件路径和Jar包路径。然后,保存并退出文件。启用并启动该服务:

    “`shell
    sudo systemctl enable your_service_name
    sudo systemctl start your_service_name
    “`

    5. 使用Jenkins等持续集成工具:持续集成工具如Jenkins可以管理和运行Java应用程序,包括将Jar包在后台运行。首先,安装Jenkins并配置好环境。然后,在Jenkins中创建一个作业,配置构建步骤为运行Java命令启动Jar包。

    这样,可以通过Jenkins的Web界面来管理和监控Jar包的运行状态,也可以通过Jenkins提供的API和命令行工具来管理和监控。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,可以使用以下命令将Jar包以后台进程的方式运行:

    nohup java -jar yourJarFile.jar &

    这个命令使用了两个重要的工具:nohup和&。下面将解释每个工具的作用:

    1. nohup:这个命令用于忽略SIGHUP(hang up)信号,使得程序可以在Shell关闭后继续运行。nohup命令会将标准输出重定向到一个名为nohup.out的文件,因此你可以在该文件中查看程序的输出信息。

    2. &:这个符号在命令的末尾使用,它可以使命令在后台运行而不占用终端。这样你可以继续使用终端来运行其他命令。

    上述命令中的”java -jar yourJarFile.jar”部分表示要运行的Jar包的文件路径和名称。你需要将其替换为你实际的Jar包路径和名称。

    此外,可以考虑将nohup命令和java命令的路径添加到环境变量中,这样你就无需输入完整的路径来运行Jar包。具体的操作步骤如下:

    1. 编辑.profile文件(如果使用的是bash shell)或者.bash_profile文件(如果使用的是Bash基础环境):

    vim ~/.profile

    2. 在文件的末尾添加以下内容(假设你的Java安装路径为/usr/local/java):

    export PATH=”$PATH:/usr/local/java/bin”

    3. 保存并退出文件。

    4. 执行以下命令以使环境变量立即生效:

    source ~/.profile 或 source ~/.bash_profile

    现在,你就可以直接使用”java -jar yourJarFile.jar”命令来运行Jar包了。

    总结:

    使用nohup和&命令可以将Jar包以后台进程的方式运行,而不会受到Shell关闭的影响。此外,还可以将Java命令的路径添加到环境变量中,以便直接在终端中使用Java命令。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部