首页 > 系统相关 >linux 将自定义程序做成服务开机自启动

linux 将自定义程序做成服务开机自启动

时间:2025-01-20 14:43:56浏览次数:1  
标签:bin systemd 自定义 service system sh linux 自启动 hello

在 linux 系统中有很多方式可以将自定义程序设置成开机自启动,本文所述的方式是通过将程序设置成 service 来实现自启动。
在 /lib/systemd/system 目录下新建 hello.service 文件

touch /lib/systemd/system/hello.service
vim /lib/systemd/system/hello.service
[Unit]
Description=Hello Service
 
[Service]
Type=simple
ExecStart=/usr/bin/hello.sh
SuccessExitStatus=2
 
[Install]
WantedBy=multi-user.target

这里注意一点,当系统服务的进程是在 ExecStart 的程序中完成时,选用 Type=simple 配置,如果 ExecStart 的程序有子进程在后台运行时,应该使用 Type=forking 配置,父进程退出时,子进程也能够在后台运行。
新建启动脚本文件 hello.sh 并加可执行权限。

touch /usr/bin/hello.sh
vi /usr/bin/hello.sh
#!/bin/bash

echo "Hello World!" > /home/root/hello
chmod +x /usr/bin/hello.sh
systemctl daemon-reload
systemctl enable hello.service

注意,除了使用 systemctl 命令来设置服务以外,还可以使用软链接 ln 命令来设置

cd /etc/systemd/system/multi-user.target.wants
ln -s /lib/systemd/system/hello.service hello.service

标签:bin,systemd,自定义,service,system,sh,linux,自启动,hello
From: https://www.cnblogs.com/TMesh/p/18681341

相关文章

  • 你有在linux下编程过吗?有使用过mac系统吗?说下它和win系统的区别?
    关于Linux下编程我有在Linux环境下进行编程的经历。Linux系统以其稳定性、安全性和开源性受到技术人员的青睐。在前端开发方面,Linux提供了强大的工具链和开发环境,如编译器、调试器和版本控制工具,这些都有助于高效地进行Web前端开发。此外,Linux下的前端开发还可以利用诸如Prepros......
  • Linux基础操作(03)文件操作
    文件操作指令cat/more/less/head/tailcat:查看文件的内容执行权限:所有用户语法:cat[选项]文件选项:-n:显示文件行号范例:cat/pron/cpuinfocat-n/pron/cupinfomore:分页查看文件内容执行权限:所有用户语法:more文件/文件路径操作:空格键:向下翻动......
  • Linux平台生成AWR报告
    在Linux平台上生成AWR(AutomaticWorkloadRepository)报告通常是指针对Oracle数据库的操作。AWR报告是Oracle数据库性能诊断的一个重要工具,它可以帮助DBA分析数据库在一段时间内的性能表现。以下是生成AWR报告的一般步骤:1.确认Oracle数据库环境确保Oracle数据库已经安装,并且......
  • linux 设备驱动模型
    作者:baron个人网站:baron-z.cn    Linux设备模型的核心是使用Bus、Class、Device、Driver四个核心数据结构,将大量的、不同功能的硬件设备(以及驱动该硬件设备的方法),以树状结构的形式,进行归纳、抽象,从而方便Kernel的统一管理。学习平台mt8768,内核版本kernel-4.9一、kobjec......
  • Linux常用命令-LVM逻辑卷管理
    Extend扩展vgextendlvextendReduce减少vgreducelvreduce1、PV物理卷管理1.1)、pvscan命令pvscan用于扫描系统中的所有物理卷,并输出相关信息。  1.2)、pvcreate命令pvcreate用于将分区或整个硬盘转换成物理卷,主要是添加LVM属性信息并划分PE存储单位。该命令需要使用硬盘......
  • Linux 常用操作命令大全
    目录一、基础知识1.1Linux系统的文件二、基础操作2.1重启系统2.2关闭系统切换用户(su)三、目录/文件操作3.1切换目录(cd)3.2查看目录(ls)3.3创建目录(mkdir)3.4删除/文件(rm)3.5修改(重命名)目录/文件(mv)3.6拷贝目录/文件(cp)3.7搜索/文件(find)3.8查看当前目录(pwd)四、文件操作4.1新......
  • apifoxCli在linux部署运行教程
    转载于 https://apifox.com/help/automated-testing/executing-test/apifox-cli/ #1、pull镜像dockerpullnode:22-alpine#2、创建目录mkdir-p/home/testTool/apifox/script#3、运行nodejs+并使用npm安装apifoxdockerrun\--nameapifox\-eTZ=Asia/Shanghai\--......
  • Linux 下如何修改密码有效期?
    chage命令chage命令用于查看以及修改用户密码的有效期信息,它是changeage的缩写。当需要用户在指定时间内登录或者需要及时修改密码的时候可以使用此命令,通过此命令,我们可以查看帐号的各种信息,比如:最新一次修改密码日期、设置密码修改时间、在指定时间后锁定帐号。我们可......
  • Linux top命令详解
    查看多核CPU命令mpstat -P ALL  和  sar -P ALL 说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt1top 命令,然后按数字“1”可监控每个逻辑CPU的状况:观察上图,服务器有8个逻辑CPU,实际上是1个物理CPU。如果不按1,则在top视图里面显示的是所有cpu......
  • Linux查询端口是否被占用的四种方法
    一个面试题,使用三种不同的方法查看8080被哪个进程占用了。通常比较熟悉的方法是netstat和lsof两种,但还有什么方法呢。1.netstat或ss命令netstat-anlp|grep802.lsof命令这个命令是查看进程占用哪些文件的lsof-i:803.fuser命令fuser命令和lsof正好相反,是查看某个文......