Jetson nano开机自启动程序

article/2025/9/8 10:54:00

目录

    • 前言
    • 1.介绍
    • 2.创建开机自启动程序
      • 2.1 创建一个bash文件
      • 2.2 创建一个service文件
      • 2.3 添加权限
      • 2.4 移动service文件
      • 2.5 启动服务
      • 2.6 停止/重启服务
      • 2.7 取消开机自启动服务
    • 结语
    • 参考

前言

最近有个需求,需要在jetson nano开机自启动一个应用程序,最近看了几篇帖子,简单实现了其中一种,故此做个记录方便下次查看。此次使用的方法是systemd服务进程拉起方式,具体细节,大家自行查阅,这里只说明具体实现流程。

参考:Linux系统设置开机自动运行脚本的方法实例、Linux设置进程自启动(systemd,init)、Linux设置软件开机自启动的三种方式

1.介绍

这里实现一个部署在jetson nano上的yolov5算法程序的自启动功能,jetson nano每次开机后自动开启yolov5检测程序,PC端通过zmq实现远程画面显示。参考jetson nano模型部署、zmq远程画面显示

2.创建开机自启动程序

2.1 创建一个bash文件

首先需要创建一个bash文件start.sh,里面的内容为你需要拉起的可执行程序,比如我需要拉起yolov5检测程序,那么我的start.sh内容如下:

#! /bin/bash
cd /home/zhlab/tensorRT_Pro-main/workspace
./pro yolo

cd到指定目录,然后执行程序。大家可以执行bash start.sh检查下程序是否启动

2.2 创建一个service文件

创建一个service文件start.service,里面内容指定为你需要执行的bash文件的路径,比如我需要指定开机执行start.sh,那么我的start.service内容如下:

[Unit]
Description=Run a Custom Script at Startup
After=default.target[Service]
ExecStart=/home/zhlab/tensorRT_Pro-main/workspace/start.sh[Install]
WantedBy=default.target

大家只需要修改[Service]下的可执行bash文件的路径修改为你的路径即可,从服务的内容来看,我们最终还是会调用/home/zhlab/tensorRT_Pro-main/workspace/start.sh这个脚本

2.3 添加权限

start.sh以及start.service添加权限

sudo chmod 777 start.sh
sudo chmod 777 start.service

2.4 移动service文件

大家需要将创建的start.service文件移动到/etc/systemd/system下,当然你也可以直接在/etc/systemd/system创建service文件,具体移动指令如下

sudo mv start.service /etc/systemd/system

2.5 启动服务

现在只需要启动服务然后重启即可,需要执行的指令如下:

systemctl daemon-reload
systemctl enable start.service	// 启动刚才定义的service服务
sudo reboot 	// 重启

演示如下图所示,重新开机后会启动start.service服务,去执行start.sh文件,从而去执行yolov5检测程序

在这里插入图片描述

图(1) 服务启动演示

重新开机后可以使用如下指令查看服务是否开启

systemctl status start.service

在这里插入图片描述

图(2) 服务状态查看

此时可以看到服务的状态是active(running)即激活状态,现在可以在PC端通过zmq远程显示yolov5推理的画面了,如下图所示:

在这里插入图片描述

图(3) zmq远程画面显示

2.6 停止/重启服务

停止服务指令如下

systemctl stop start.service
systemctl restart start.service

在这里插入图片描述

图(4) 停止服务演示

上图演示了服务停止到服务重启的过程,可以看到服务状态的转变。

2.7 取消开机自启动服务

值得注意的是systemctl stop start.service只是停止了本次服务,但是当开机时服务又会重新启动,现在需要取消服务自启动,执行指令如下:

systemctl disable start.service	// 取消自启动服务
sudo reboot	// 重启

演示如下图

在这里插入图片描述

图(5) 取消自启动服务演示

开机之后可以使用systemctl status start.service查看服务状态,会发现此时服务未启动,如下图所示

在这里插入图片描述

图(6) 取消自启动服务后服务的状态查看

特别注意!!!大家一定要知道自己开启了哪些服务以及对应的服务的功能,不要多次启动同一个程序

结语

关于jetson nano的开机自启动程序大家可以自行测试,具体的细节需要各位自行查阅。

感谢各位看到最后,创作不易,读后有收获的看官帮忙点个👍。

参考

  • Linux系统设置开机自动运行脚本的方法实例
  • Linux设置软件开机自启动的三种方式
  • Linux设置进程自启动(systemd,init)
  • jetson nano模型部署

http://chatgpt.dhexx.cn/article/jL9UFwF8.shtml

相关文章

树莓派开机自动运行python程序的方法

方法一 添加程序到rc.local 里 添加到rc.local 里的py脚本文件将会在树莓派开机是自动运行,这种方式适合没有显示器,具体操作如下: 编辑文件 rc.localsudo nano /etc/rc.local添加命令来执行python程序,要使用文件的绝对路径。确保在exit 0…

linux_systemd启动方式解析,如何开机自动登录,开机自动运行程序

楼主使用的是天嵌的IMX6Q。 最新的官方yocto,4.9_123编译出来的文件系统。 其启动方式是系统服务的方式,记录一下: 如何修改串口控制台自动登录,和开机自动运行程序 Linux系统的启动方式有点复杂,而且总是有需要优化的地方。传…

批处理+开机自动执行

一、 写批处理脚本请参考:批处理 二、 只需要将上面写的xxx.bat文件放到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp路径下,开机就会自动执行,执行你想要的开机设置或者打开一些软件

定时开机-开机自动运行程序-定时关机(windows 下)

前言 电脑长时间未关机第二天来就会完全卡死。将有规律、重复性动作自动化。 目录 一、设置定时开机 二、设置开机启动自定义应用 三、设置定时关机 一、设置定时开机 定时开机这个,可能需要看“硬件”,我能成功主要是因为我的BIOS上有定时开机这个选项&#xff…

Beaglebone Black——开机自动运行程序

上接《修改设备树文件》一文 现在每次开机都能看到/dev/rtc1了,那么我们还需要一个应用程序来把时间从RTC读取出来更新到系统中,然而通过linux系统自带的一个程序hwclock,我们就可以把RTC的时间更新到系统中来,不需要自己动手省了…

树莓派开机自动运行python程序的两种方式

本文以一个简单的python程序为例,介绍树莓派开机程序自启动的两种方式,以及其中可能遇到的问题。python程序myled.py如下,保存路径为/home/pi/myled.py。 import RPi.GPIO as GPIO import timeGPIO.setmode(GPIO.BOARD) GPIO.setup(35, GPIO…

最小Linux系统中如何实现开机自动运行程序(进程)

一、目标 将交叉编译生成的可执行文件,放到最小Linux系统中,然后实现板子开机后,最小Linux系统运行起来后,自动执行可执行文件,并将可执行文件进程挂到后台运行。 二、实现 1、生成目标可执行文件 例: …

计算机启动windows程序,win7系统开机自动运行程序怎么设置|win7电脑开机启动程序的方法...

一些程序在一开机的时候就会自动打开,这样就不需要自己去打开了。那么win7开机自动运行程序怎么设置?下面就跟大家说说具体的设置步骤。 win7电脑开机启动程序的方法: 一、软件自带法: 大多数软件都提供开机自启动的功能&#xff…

Ubuntu添加开机自动运行程序

ubuntu下有很多中开机自动运行程序的方法,在开机的不同过程中可以启动不同的程序.如在开机启动时自动运行程序,是通过修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如&#xff…

树莓派Pico 开机自动运行程序

用Thonny编写的程序通过MicroPython运行后再重新上电程序不运行,需再次在Thonny内点击运行按钮才行。 以下步骤开机可自动运行: 程序必须保存在树莓派内部空间(另存时如串口正常会出现保存本机还是pico的选项,如图)。注意&#…

嵌入式Linux设置开机自动运行程序(基于BusyBox init)

文章目录 目的BusyBox init启动流程inittabrcS 和 rcK 设置开机自动运行程序总结 目的 开机自动运行程序,或者说系统启动时自动运行程序,这是经常会需要用到的功能。这个功能通常依托于 init 程序实现。 init 是Linux在内核启动完成之后第一个启动的程序…

Linux笔记:开机自动运行程序

文章目录 目的rc.localSysVinitSystemd在Systemd中实现rc.local注意事项SysVinit和Systemd的联系与区别总结 目的 开机自动运行程序,或者说系统启动时自动运行程序,这是经常会需要用到的功能。在linux中实现随系统启动运行程序的功能通常有三种&#xf…

Big-Endian Little-Endian

大端模式Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。 小端模式Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 小端模式 :强制转换数据不需要调整字节内容。 大端模式 &a…

字节序:Big Endian 和 Little Endian

最近碰到了node.js中的buf.readUInt16LE(offset[, noAssert])方法: 根据指定的偏移量,使用特殊的 endian 字节序格式读取一个无符号 16 位整数。若参数 noAssert 为 true 将不会验证 offset 偏移量参数。 这意味着 offset 可能会超出 buffer 的末…

字节序——Big Endian和Little Endian

Big Endian和Little Endian 一、Endian 的起源二、字节序之 Little-Endian&Big-Endian三、为什么要注意字节序四、网络序和主机序五、Go 中的字节序 一、Endian 的起源 在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通…

小端格式和大端格式(Little-EndianBig-Endian)

小端格式和大端格式(Little-Endian&Big-Endian) 1 字节序 字节序,也就是字节的顺序,指的是多字节的数据在内存中的存放顺序。 在几乎所有的机器上,多字节对象都被存储为连续的字节序列。 例如:如果C/C中的一个int型变量 a…

BIG-ENDIAN VS LITTLE-ENDIAN

1. 计算机硬件有两种储存数据的方式:大端字节序(big endian)和小端字节序(little endian)。 举例来说,数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11。 字节序&…

什么是字节序? Big-Endian vs Little-Endian 举例说明

计算机只理解二进制。这意味着 0 和 1 构成了计算机使用的语言。 一位是 0 或 1 。8 位组成一个字节。从这些简单的部分,我们可以构建极其复杂的连接计算机系统来渲染视频、显示来自世界各地的文本并计算极其复杂的算法。 一些数据(一些英文字符&#…

java -- Big Endian and Little Endian 大端和小端概念讲解及如何转换

什么是大端、小端? 字节是计算机中数据处理的基本单位。 计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte8bit)。 计算机进行数据处理时,一次存取、加工和…

浅谈大小端(Endian)与位域

目录 字节序 位序 常见位序的错误理解 以太网的大小端 以太网的字节序 以太网的位序 位域中的大小端 位域遇上大小端以太网通信 大端CPU发送 小端CPU发送 位域大小端问题的解决措施 大小端问题浪费了太多应用、驱动、逻辑工程师太多的时间,无时无刻都有人…