当前位置 : 主页 > 编程语言 > java >

ubuntu重启Java自启动

来源:互联网 收集:自由互联 发布时间:2023-12-16
Ubuntu重启Java自启动教程 1. 整体流程 下面是实现Ubuntu重启Java自启动的整体流程: 步骤 描述 1创建一个Shell脚本文件2将Java程序添加到Shell脚本文件中3创建一个Systemd服务单元文件4启用并

Ubuntu重启Java自启动教程

1. 整体流程

下面是实现"Ubuntu重启Java自启动"的整体流程:

步骤 描述 1 创建一个Shell脚本文件 2 将Java程序添加到Shell脚本文件中 3 创建一个Systemd服务单元文件 4 启用并启动Systemd服务 5 验证Java程序是否在重启时自动启动

在下面的教程中,我们将一步一步地详细说明每个步骤所需的操作和代码。

2. 创建Shell脚本文件

首先,我们需要创建一个Shell脚本文件,用于启动Java程序。使用以下命令创建一个新的Shell脚本文件:

sudo nano /usr/local/bin/start-java.sh

然后,将以下代码添加到Shell脚本文件中:

#!/bin/bash
java -jar /path/to/your/java-program.jar

在这里,你需要将/path/to/your/java-program.jar替换为你实际的Java程序的路径。

3. 创建Systemd服务单元文件

接下来,我们需要创建一个Systemd服务单元文件,以便将Shell脚本文件设置为自动启动。使用以下命令创建一个新的Systemd服务单元文件:

sudo nano /etc/systemd/system/java-autostart.service

然后,将以下代码添加到服务单元文件中:

[Unit]
Description=Java Autostart
After=network.target

[Service]
ExecStart=/usr/local/bin/start-java.sh
WorkingDirectory=/usr/local/bin
StandardOutput=journal
StandardError=journal
SyslogIdentifier=java-autostart

[Install]
WantedBy=multi-user.target

4. 启用并启动Systemd服务

现在,我们需要启用并启动Systemd服务,以便在重启时自动启动Java程序。使用以下命令启用服务:

sudo systemctl enable java-autostart.service

然后,使用以下命令启动服务:

sudo systemctl start java-autostart.service

5. 验证Java程序是否自动启动

最后,我们需要验证Java程序是否在重启时自动启动。使用以下命令查看服务状态:

sudo systemctl status java-autostart.service

如果Java程序已成功启动,你应该会看到类似以下的输出:

● java-autostart.service - Java Autostart
   Loaded: loaded (/etc/systemd/system/java-autostart.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-01-01 00:00:00 UTC; 1min ago
 Main PID: 1234 (start-java.sh)
    Tasks: 1 (limit: 1234)
   Memory: 10.0M
      CPU: 1s
   CGroup: /system.slice/java-autostart.service
           └─1234 /bin/bash /usr/local/bin/start-java.sh

这样,你就成功地将Java程序设置为在Ubuntu重启时自动启动了。

类图

下面是一个简单的类图,展示了本教程中所涉及的类与它们之间的关系:

classDiagram
    class Developer {
        +name: String
        +experience: int
        +teachUbuntuAutoRestartJavaProgram(): void
    }
    class NoviceDeveloper {
        +name: String
        +experience: int
        +learnUbuntuAutoRestartJavaProgram(): void
    }
    class ShellScript {
        +path: String
        +addJavaProgram(): void
    }
    class SystemdService {
        +unitFilePath: String
        +enableAndStart(): void
    }
    class JavaProgram {
        +jarFilePath: String
        +start(): void
    }
    Developer --> NoviceDeveloper
    NoviceDeveloper --> ShellScript
    NoviceDeveloper --> SystemdService
    ShellScript --> JavaProgram
    SystemdService --> JavaProgram

关系图

下面是一个关系图,展示了本教程中所涉及的组件之间的关系:

erDiagram
    Developer ||--o{ NoviceDeveloper : "教授"
    NoviceDeveloper ||--o{ ShellScript : "使用"
    NoviceDeveloper ||--o{ SystemdService : "使用"
    ShellScript ||--o{ JavaProgram : "添加"
    System
上一篇:shell 脚本结束java进程
下一篇:没有了
网友评论