From 78c9ef475a839bc32481f2157c1694561a3d6bf4 Mon Sep 17 00:00:00 2001 From: jie65535 Date: Sun, 24 Apr 2022 08:43:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20Linux=20rc.local=20?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linux/boot-run.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 linux/boot-run.md diff --git a/linux/boot-run.md b/linux/boot-run.md new file mode 100644 index 0000000..cdbefd0 --- /dev/null +++ b/linux/boot-run.md @@ -0,0 +1,23 @@ +--- +tags: #linux #tmux +--- + +# Linux 开机自启 + +建议用 `systemd` 来托管服务,而不是在 `rc.local` 启动。 + +不过因为 `rc.local` 比较简单,这里记录一下用法。 + +`rc.local` 在 `/etc/rc.local` ,是 `/etc/rc.d/rc.local` 的软链接。 + +要让系统可以执行 `rc.local` 还要先 `chmod +x /etc/rc.d/rc.local`。 + +该文件相当于系统开机时执行的.sh文件,里面可以直接写命令。需要注意的是,执行的上下文是 `root` ,而且**没有环境变量**,如果执行的命令需要环境变量,可以在脚本中设置,也可以用 `su` 切换用户来执行,例如: +```bash +su pi -c "xxx" +``` + +**不要让 `rc.local` 挂起** +`rc.local` 是一个脚本,是按顺序执行的,执行完一个程序后才会执行下一个程序,如果某程序不是后台程序,就应该加&让程序运行在后台,否则 `rc.local` 会挂起。 + +**挂起会导致系统启动被阻塞**