2023年11月28日发(作者:)

linux开机启动设置的⼏种⽅法

Linux开机⾃启动的⼏种⽅式:

fig

supervisord服务脚本为例:

1步:把上⾯的脚本放在/etc/init.d/⽂件

ln -s ./supervisord /etc/init.d/supervisord

2步:将启动脚本权限改为可执⾏。

chmoda+x /etc/init.d/supervisord

3步:添加启动项。

chkconfig --add supervisord

chkconfig supervisord on

4步:检查是否设置成功。

chkconfig --list | grep supervisord

supervisord 0:关闭 1:关闭 2:启⽤ 3:启⽤ 4:启⽤ 5:启⽤ 6:关闭

2、⼿动配置在⽂件中加⼊启动命令

/etc/

3、⽂件指向路径是/etc/init.d下的脚本⽂件

/etc/rc[0-6].d

0-6linux操作系统的运⾏级别,运⾏runlevel查看当前运⾏级

运⾏级别0:系统停机状态,系统默认运⾏级别不能设为0,否则不能正常启动

运⾏级别1:单⽤户⼯作状态,root权限⽤户,⽤于系统维护,禁⽌远程登陆

运⾏级别2:多⽤户状态(没有NFS)

运⾏级别3:完全的多⽤户状态(NFS),登陆后进⼊控制台命令⾏模式

运⾏级别4:系统未使⽤,保留

运⾏级别5X11控制台,登陆后进⼊图形GUI模式

运⾏级别6:系统正常关闭并重启,默认运⾏级别不能设为6,否则不能正常启动

/etc/rc[0-6].d⽬录下⽂件的命名规则:S|K + nn + script

S|KS开头命名的是开机要执⾏的脚本,K开头命名的是关机要执⾏的脚本

nn取值0-100,表⽰优先级,数字越⼤,优先级越低

script是软链接指向的脚本的⽂件名

/etc/init.d⽬录下的控制脚本接受参数

-- start //启动

-- stop //停⽌

-- restart //重启

-- status //状态

-- force-reload //重新载⼊配置

update-rc.d命令为/etc/init.d⽬录下的脚本建⽴或删除到/etc/rc[0-6].d的软链接

增加⼀个服务

添加这个服务并让它开机⾃动执⾏

update-rc.d apache2 defaults

并且可以指定该服务的启动顺序:

update-rc.d apache2 defaults 90

还可以更详细的控制startkill顺序:

update-rc.d apache2 defaults 20 80

其中前⾯的20start时的运⾏顺序级别,80kill时的级别。也可以写成:

update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .

其中06为运⾏级别。

删除⼀个服务

update-rc.d -f apache2 remove

4 设置程序的.desktop⽂件

通过将应⽤程序的.desktop⽂件放在⾃启动⽬录下,那么当⽤户登陆桌⾯环境时,就会⾃动启动这些应⽤程序。

linux中⾃启动⽬录是$XDG_CONFIG_DIRS/autostart$XDG_CONFIG_HOME/autostart这两个,可以打印看⼀下,有的可能只有其中⼀

个。

把设置好的.desktop放在这两个⽬录下,那么指定的程序就会在桌⾯环境启动时启动,当两个⾃启动⽬录同时存在相同的⽂件时,只会运⾏

其中⼀个($XDG_CONFIG_HOME)。

p⽂件写法:

[Desktop Entry]

Name=program

Exec=/usr/bin/program

Type=Application

Comment=my program

只需要有这关键的⼏⾏就可以了,Exec的路径⼀定要正确。.desktop⽂件还有其他定制项,可参考其他⽂章。

5crontab定时执⾏任务

周期执⾏的任务⼀般由cron这个守护进程来处理[ps -ef|grep cron]

cron的配置⽂件称为“crontab”,是“cron table”的简写

service crond start //启动服务

service crond stop //关闭服务

service crond restart //重启服务

service crond reload //重新载⼊配置

service crond status //查看服务状态

# Example of job definition:

# .---------------- minute (0 - 59)

# | .------------- hour (0 - 23)

# | | .---------- day of month (1 - 31)

# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...

# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

每两个⼩时

0 */2 * * * echo "Have a break now." >> /tmp/

crontab -l //在标准输出上显⽰当前的c

crontab -r // 删除当前的crontab⽂件。

crontab -e //使⽤VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab⽂件,当结束编辑离开时,编辑后的⽂件将⾃动安装。

除了数字还有⼏个个特殊的符号就是"*""/""-"","*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表⽰每5个单位,"-"代表从某个

数字到某个数字,","分开⼏个离散的数字。