linux 将自定义程序做成服务开机自启动
在 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!