Jetson nano开机自启动程序

news/2024/11/17 7:25:04/

目录

    • 前言
    • 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://www.ppmy.cn/news/773281.html

相关文章

Linux环境关闭开机自启动服务

查看哪些是开机自启动服务 可以通过 chkconfig 命令查看 [rootlinux30 ~]# chkconfig注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。要列出 systemd 服务,请执行 systemctl list…

linux设置开机自启动网络,linux设置开机自启动

一.、在/etc/rc.local文件中添加自启动命令 执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令 运行程序脚本:然后在文件最后一行添加要执行程序的全路径。 例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"…

多头离子风机的安装方式和特点

多头离子风机是一种能够净化空气并提供良好空气循环的设备。它通过使用离子发生器产生负离子,将空气中的尘埃、细菌、病毒等有害物质带电化,并借助风扇的作用使其悬浮在空气中。这些带电的颗粒会被静电吸引到设备中的吸附板上或者沉降下来,从…

【Web狗自虐系列1】Pwn入门之初级ROP

0x0 栈介绍 栈式一种典型的后进先出的数据结构,其操作主要有压栈(push)与出栈(pop)两种操作 压栈与出栈都是操作的栈顶 高级语言在运行时都会被转换为汇编程序,在汇编程序运行过程中,充分利用了这一数据结构。每个程序在运行时都有虚拟地址…

液晶面板中的OD

OD:OVER DRIVE 过驱动 作用:提升 液晶响应时间,对于从黑到白和白到黑无补偿作用响应时 原理:液晶分子在电场中所产生的力矩与电场的平方成正比,因此,增加电场可以大幅度增加对液晶分子施加的力矩,从而加…

【华为OD机试真题 java、python】硬件产品销售方案(100%通过+复盘思路)

代码请进行一定修改后使用,本代码保证100%通过率,本题提供java、python两种代码。复盘思路在文章的最后 题目描述 某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,Ai服务器,智能边缘多种硬件产品,每种产品包含若干个型号。现某合作厂商要采购金额为amount元的硬件产…

OpenCV算法加速(4)官方源码v4.5.5的默认并行和优化加速的编译选项是什么?请重点关注函数cv::getBuildInformation()的返回值

举例opencv v4.5.5版本源码,Windows x64,VS2019,CMake https://github.com/opencv/opencv/tree/4.5.5 https://sourceforge.net/projects/opencvlibrary/files/4.5.5/ 下载安装opencv-4.5.5-vc14_vc15.exe,得到官方编译的动态库…

【100%通过率】华为OD机试真题 Python 实现【硬件产品销售方案】【2022.11 Q4 新题】

所有题目均有五种语言实现。C实现目录、C++ 实现目录、Python实现目录、Java实现目录、JavaScript实现目录