百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

又学了一个新技巧,Linux开机运行自己的脚本文件

sinye56 2024-11-11 13:34 2 浏览 0 评论

最近项目接近尾声,用户要求实现程序开机自启动功能。系统:ubuntu18.04,软件环境:ROS1,Python3.6。

这个需求可以通过ubuntu系统自带的“启动应用程序”实现,

但是这个方法似乎并不好用,后来查资料发现通过新建服务的方式实现也不难,这里分享给大家,步骤如下:

第一步 新建启动代码的脚本文件,名称是startPY.sh;

如果文件不存在,会新建文件,打开文件后输入如下内容:

第一行是用于告诉内核使用bash来解释运行这个脚本文件;

第二行是设置延时时间的,单位为秒;

第三行是指定运行程序的路径;

第四行是用于声明环境变量,由于ROS支持的python版本是2.x的,通过这个声明则可以正常运行python3.x的脚本文件;

第五行是要运行自定义的脚本程序。还是因为安装了ROS之后,用python3命令和sudo python3命令启动程序有些依赖库是不同的,这个大家可以自己试一试。

保存并关闭该文件。

第二步 然后建立一个服务用于启动该脚本。

在/etc/systemmd/system目录下新建一个文件,名称为defsh.service

在文件中输入如下:

A区是对服务的描述;

B区是服务的启动参数,User指定了该服务的用户名,如果不写这一行,则默认root运行;ExecStart指定第1步中的脚本文件绝对路径。在这里又用到了/bin/bash,起初我没有加这段,一直都没有成功,这里还需要再深入了解一下;

C 区用于指定服务所属的启动级别。例如,multi-user.target是一个常见的启动级别,用于表示系统已经启动到多用户模式,此时应该启动所有与用户交互相关的服务。

关闭保存该文件。

第三步 配置服务

此时服务已经建立了,可以通过下列操作来控制服务:

使能服务:sudo systemctl enable defsh.service

启动服务:sudo systemctl start defsh.service

停止服务:sudo systemctl stop defsh.service

禁止服务:sudo systemctl disable defsh.service

查看服务状态:systemctl status defsh.service

更改完服务内容后,要执行这一句:sudo systemctl daemon-reload

第四步 测试

确认服务开机是否运行成功。我的python脚本test.py中,启动了一个tcpclient,当我运行一个tcpserver后,tcpclient会主动连接到server并发送消息。

好了,这就是Ubuntu系统开机启动运行脚本的制作步骤,希望对大伙儿有所帮助!

相关推荐

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

Linux文件和目录相关常用命令

#头条创作挑战赛#大家好,这里是小杨的学习分享,今天给大家带来Linux的文件和目录相关常用命令,运维攻城狮都知道,Linux的所有东西皆文件,熟练掌握命令是学习Linux必不可少的一部,一起学习吧~...

linux 实时查找文件和目录find命令

在Linux中,find命令可用于按照指定的条件实时查找文件和目录。以下是一些常用的find命令的详细举例:按文件名查找:在当前目录及其子目录中查找文件名为"file.txt"的文件:...

Linux新手入门系列:文件及目录操作(一)

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。...

linux实例之系统目录的介绍

系统目录也叫根目录,在linux系统下,通常用/表示,我们可以使用ls-la/命令查看根目录下包含哪些目录,如图1bin目录主要用于存放常用的命令,如cp,ls等命令。图中可以看到,bin...

Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!

如果一个目录中文件数不是很多,那就可以一眼看出其中有多少个文件。但是如果计算子目录在内的文件数呢?或者如果文件数量很多,比如几百上千个,那么怎么确切地知道该目录下的文件数呢?...

Linux之文件与目录

我们知道对于Linux系统来讲,一直流传着这样一句话“一切皆文件”,也就是说Linux就是由文件系统堆砌而成的。正确理解它的文件与目录是熟练掌握此款系统的最大的前提条件。Linux的目录的结构属于树状...

Linux基础知识 | 文件与目录大全讲解

1.linux文件权限与目录配置1.文件属性Linux一般将文件可存取的身份分为三个类别,分别是owner/group/others,且三种身份各read/write/execute等权限...

取消回复欢迎 发表评论: