【Ap模块EM】08-ubuntu系统中怎么让Execution Management成为第一个执行的进程?

前面的文章,我们讲述了ubuntu系统上电执行的流程,那么在Ap AutoSAR中Execution Management怎么成为第一个被执行的进程呢额?就是让它取代传统的init进程,成为ubuntu系统第一个执行的进程?
我们可以通过符号链接 symbolic link去实现,这个类似于windows系统中的某个exe文件的桌面快捷方式。

symbolic link

在 Linux 中,符号链接symbolic link是一种特殊类型的文件,充当指向另一个文件或目录的指针。符号链接也称为软链接,是使用ln带-s选项的命令创建的。

以下是如何使用以下ln命令在 Linux 中创建符号链接的示例,它创建一个符号链接topps.sh到topprocs.sh。该-s选项指定应创建符号链接。

ln -s ~/bin/topprocs.sh topps.sh

当我们去访问符号链接时,操作系统会重定向到原始文件,我们可以通过ls -l指令查看我们创建的符号链接。如下图所示:
在这里插入图片描述
图中的蓝色字符串topps.sh就是符号链接,可以通过权限段lrwxrwxrwx中的l看出来它是一个符号链接。

安装execution-man

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要获取Ubuntu系统指定进程的资源占用情况,可以使用Java的ProcessBuilder类来启动并执行Linux命令,并通过解析命令输出的结果来获取所需信息。以下是一个示例代码: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class ProcMonitor { public static void main(String[] args) { String procName = "process_name"; // 进程名称 String cmd = "ps aux | grep " + procName; // Linux命令 try { ProcessBuilder builder = new ProcessBuilder("/bin/bash", "-c", cmd); Process process = builder.start(); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { // 解析命令输出的每行信息,获取所需的资源占用情况 String[] fields = line.trim().split("\\s+"); String pid = fields[1]; // 进程ID String cpuUsage = fields[2]; // CPU占用率 String memUsage = fields[3]; // 内存占用率 // 保存到MySQL数据库 saveToDatabase(pid, cpuUsage, memUsage); } int exitCode = process.waitFor(); if (exitCode != 0) { System.err.println("Command execution failed with exit code " + exitCode); } } catch (Exception e) { e.printStackTrace(); } } private static void saveToDatabase(String pid, String cpuUsage, String memUsage) throws SQLException { String url = "jdbc:mysql://localhost:3306/mydb"; String user = "root"; String password = "mypassword"; try (Connection conn = DriverManager.getConnection(url, user, password); PreparedStatement stmt = conn.prepareStatement("INSERT INTO process_usage (pid, cpu_usage, mem_usage) VALUES (?, ?, ?)")) { stmt.setString(1, pid); stmt.setString(2, cpuUsage); stmt.setString(3, memUsage); stmt.executeUpdate(); } } } ``` 在以上代码,我们使用ProcessBuilder类启动Linux命令,并通过解析命令输出的结果获取进程ID、CPU占用率和内存占用率等信息。然后将这些信息保存到MySQL数据库。注意,要保存到数据库,需要先下载并安装MySQL JDBC驱动程序,并在代码指定数据库连接信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖果Autosar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值