linux系统下如何简单添加开机自启动脚本或程序

在Linux系统下有很多种添加开机自启动脚本的方法,因系统差异每种方法可能有所差异,这里介绍一种简单的方法

Linux终端输入 cd /etc/init.d/,进入该目录下:

root@test_proj:~# cd /etc/init.d/

输入ls会发现目录下有个rcS文件,如下:

root@test_proj:/etc/init.d# ls
alignment.sh              haveged                   psplash.sh                single
banner.sh                 hostname.sh               qtGUI.sh                  smartd
bootlogd                  hwclock.sh                rc                        stop-bootlogd
bootmisc.sh               inetd.busybox             rcS                       sysfs.sh
checkroot.sh              modutils.sh               read-only-rootfs-hook.sh  syslog
dbus-1                    mountall.sh               reboot                    tcf-agent
devpts.sh                 mountnfs.sh               resizefs.sh               udev
dmesg.sh                  networking                rmnologin.sh              umountfs
dnsmasq                   nfscommon                 rpcbind                   umountnfs.sh
dropbear                  nfsserver                 run-postinsts             urandom
functions                 populate-volatile.sh      save-rtc.sh               wm8960.sh
halt                      print_zynq.sh             sendsigs

我们sudo vi rcS注意Linux开发板不用加sudo)打开编辑该文件,例如我想再开机的时候打印一个hello 那么可以在下面位置加入 echo hello,(有的人可能会问,如果我想启动一个程序呢怎么做,一样,在这里加入要执行的程序就可以了。注意:开机自启动的程序依赖环境变量,一定保证,在程序启动之前环境变量准备好,要不启动会失败)然后保存退出:

#!/bin/sh
#
# rcS           Call all S??* scripts in /etc/rcS.d in
#               numerical/alphabetical order.
#
# Version:      @(#)/etc/init.d/rcS  2.76  19-Apr-1999  miquels@cistron.nl
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel

#       Make sure proc is mounted
#
[ -d "/proc/1" ] || mount /proc

#
#       Source defaults.
#
. /etc/default/rcS

echo hello
#
#       Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
#
trap ":" INT QUIT TSTP

#
#       Call all parts in order.
#
exec /etc/init.d/rc S

重启开发板,终端输入reboot,可以看到启动日志中第十行出现了如下的代码,(hello):

cfg80211: failed to load regulatory.db
 mmcblk1: p1
  No soundcards found.
EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:9.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
Run /sbin/init as init process
INIT: version 2.88 booting
hello
Starting udev
udevd[125]: starting version 3.2.8
random: udevd: uninitialized urandom read (16 bytes read)
random: udevd: uninitialized urandom read (16 bytes read)
random: udevd: uninitialized urandom read (16 bytes read)
udevd[126]: starting eudev-3.2.8
FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)

大家可以自行验证哦!!

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会倒的鸡蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值