最近用树莓派来运行一些代理服务,需要开机启动一些程序,因此在这里简单记录下实现自启动的方法。

首先,进入到/etc/init.d目录中,并创建一个自己的文件,例如MyStart

使用下面的模版编写自己的自启动文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh

### BEGIN INIT INFO

# Provides: [程序名称,唯一]

# Required-Start: $network $remote_fs $local_fs

# Required-Stop: $network $remote_fs $local_fs

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: [启动项的简短说明]

# Description: [启动项的完整说明]

### END INIT INFO


[需要执行的命令]

exit 0

如果程序需要在后台静默运行,需要使用

1
nohup [需要执行的命令] >/dev/null 2>&1 &

接下来给刚刚的文件加上可执行属性

1
chmod +x MyStart

接着将其加入开机启动项

1
update-rc.d MyStart defaults

在defaults后加入数字可以控制自启动的顺序,例如99是最后启动

1
update-rc.d MyStart defaults 99

如果要删除上述的启动项,可以使用下面的命令

1
update-rc.d -f MyStart remove