首页 > 系统相关 >Ubuntu配置java程序的ExecStart

Ubuntu配置java程序的ExecStart

时间:2023-07-20 19:02:58浏览次数:35  
标签:ExecStart Java service Ubuntu 程序 HelloWorld world java hello

Ubuntu配置Java程序的ExecStart

在Ubuntu操作系统中,我们可以通过systemd服务配置来管理Java程序的启动。systemd是一个Linux系统的初始化系统和服务管理器,它提供了一种简单而强大的方式来管理系统上的进程。

本文将指导你如何在Ubuntu上配置Java程序的ExecStart,确保你的Java程序能够在系统启动时自动运行。

1. 编写Java程序

首先,我们需要编写一个简单的Java程序,作为示例。假设我们的程序是一个简单的Hello World程序。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

将上述代码保存为HelloWorld.java文件。

2. 编译Java程序

在继续之前,我们需要先将Java程序编译成可执行的字节码文件。使用以下命令编译Java程序:

javac HelloWorld.java

这将生成一个名为HelloWorld.class的文件。

3. 创建systemd服务配置文件

接下来,我们将创建一个systemd服务配置文件来定义Java程序的启动方式。

使用以下命令创建一个名为hello-world.service的文件:

sudo nano /etc/systemd/system/hello-world.service

然后,将以下内容添加到文件中:

[Unit]
Description=Hello World Service
After=network.target

[Service]
ExecStart=/usr/bin/java -cp /path/to/HelloWorld HelloWorld

[Install]
WantedBy=default.target

确保将上述配置文件中的/path/to/HelloWorld替换为你实际的HelloWorld.class文件的路径。

4. 启用并启动服务

保存并关闭hello-world.service文件后,运行以下命令启用服务:

sudo systemctl enable hello-world.service

然后,运行以下命令来启动服务:

sudo systemctl start hello-world.service

现在,你的Java程序应该已成功启动。

5. 检查服务状态

要检查服务的状态,运行以下命令:

sudo systemctl status hello-world.service

如果服务正在运行,你将看到类似以下输出:

● hello-world.service - Hello World Service
     Loaded: loaded (/etc/systemd/system/hello-world.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-09-20 10:00:00 UTC; 10s ago
   Main PID: 12345 (java)
      Tasks: 1 (limit: 123)
     Memory: 10.0M
        CPU: 100ms
     CGroup: /system.slice/hello-world.service
             └─12345 /usr/bin/java -cp /path/to/HelloWorld HelloWorld

Sep 20 10:00:00 ubuntu systemd[1]: Started Hello World Service.

6. 重启和停止服务

如果你需要重启服务,可以运行以下命令:

sudo systemctl restart hello-world.service

要停止服务,运行以下命令:

sudo systemctl stop hello-world.service

结论

通过systemd服务配置,我们可以方便地管理和控制Java程序在Ubuntu系统中的启动和运行。本文介绍了如何编写Java程序、编译程序、创建systemd服务配置文件,并通过systemctl命令启用、启动、停止和重启服务。希望本文可以帮助你成功配置并管理你的Java程序。

标签:ExecStart,Java,service,Ubuntu,程序,HelloWorld,world,java,hello
From: https://blog.51cto.com/u_16175468/6790048

相关文章

  • Ubuntu安装Redis并设置开机启动
    Ubuntu安装Redis并设置开机启动1.简介在这篇文章中,我将教会你如何在Ubuntu操作系统上安装Redis,并设置Redis开机启动。Redis是一个开源的内存数据结构存储系统,常用于缓存、消息队列和会话存储。通过本文的步骤,你将能够轻松地安装Redis,并确保它在系统启动时自动运行。2.安装Redi......
  • Ubuntu18.04 anaconda安装python
    Ubuntu18.04下Anaconda的安装与Python环境配置介绍Anaconda是一个开源的Python和R语言的发行版本,用于数据科学、机器学习和人工智能等领域的开发和部署。本文将介绍如何在Ubuntu18.04上安装Anaconda,并配置Python环境。步骤1:下载Anaconda首先,我们需要从Anaconda的......
  • 轻松理解Java中的public、private、static和final
    一、概念1、public和private两个都是访问权限修饰符,用于控制外界对类内部成员的访问。public:表明对象成员是完全共有的,外界可以随意访问。用public修饰的数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。private:表明对象成员是完全私有的,不容许外界的任何......
  • JavaScript
    JavaScript简称js一个完整的JavaScript实现是由以下3个不同部分组成。1、核心(ECMAscript)——基础语法2、文档对象模型(DOM)Documentobjectmodel(整合js,css,html)3、浏览器对象模型(BOM)Broswerobjectmodel(整合js和浏览器)简单来说,ECMscript描述了JavaScript语言本身的相关内容......
  • poi导出excel加水印,单元格可修改 java 下载生成Excel文件添加水印
    poi导出excel加水印,单元格可修改java下载生成Excel文件添加水印原文链接:https://blog.csdn.net/weixin_40077255/article/details/112848376目录poi导出excel加水印,单元格可修改(只支持XSSFWorkbook)引入的jar包:操作水印的工具类:最终效果 小提示poi导出excel加水印......
  • CODOTA:你需要的JAVA编程AI助手
    最近使用了Codota,令我印象深刻。Codota的目标是让开发更简单、更快。Codota能在后台运行,以便节约时间。1什么是CodotaCodota会学习我们如何在编程,然后反过来帮助我们更好的编程。它会使用AI和机器学习技术来给工作中的人提供与正在写的代码相关的建议。2用Codota编码如果说Codot......
  • C# RSA2 SHA256 对应JAVA(SHA256withRSA)
     //用于高德调用商家,数据已经替换敏感数据,所以运行会验证失败//请拿实际参数代入privatestaticStringgetSignContent(Dictionary<String,String>paramMap){StringBuildercontent=newStringBuilder();List<String>keys=newList<string>(paramMap.Keys);//......
  • 前端(JavaScript)
    JavaScript一个完整的JavaScript实现是由以下3个不同部分组成的:核心(ECMAScript) ------------>基础语法---------->必须要会的文档对象模型(DOM)Documentobjectmodel(整合js,css,html)  ---------->重要浏览器对象模型(BOM)Broswerobjectmodel(整合js和浏览器)-------......
  • JAVA面试之SpringMVC
    一、工作流程流程 1、用户发送请求至前端控制器DispatcherServlet 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、DispatcherServlet调用Han......
  • io.reactivex.rxjava3:rxjava
    如何使用io.reactivex.rxjava3:rxjava概述在本文中,我将向您介绍如何使用io.reactivex.rxjava3:rxjava。rxjava是一个流行的响应式编程库,它提供了丰富的操作符和工具,用于简化异步操作和事件处理。以下是我们将要讨论的步骤概览:步骤动作代码示例1添加依赖implementa......