linux程序开机自启动的方法详解



1.开机启动时自动运行程序

Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。


2.登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。

3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c 文件。


4.定期自动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为"00 9 23 Jan * HappyBirthday",运行"crontab cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。 (/etc/crontab中配置命令即可)也可以


5.定时自动运行程序一次
定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:at [ -f file ] time ,在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:


6.创建开机自启动脚本

-----------------------------------------------------------

  1) 将你的启动脚本复制到 /etc/init.d目录下

    以下假设你的脚本文件名为 test。

    2) 设置脚本文件的权限

    $ sudo chmod 755 /etc/init.d/test

    3) 执行如下命令将脚本放到启动脚本中去:

    $ cd /etc/init.d

    $ sudo update-rc.d test defaults 95

    注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:

    update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see

    卸载启动脚本的方法:

    $ cd /etc/init.d

    $ sudo update-rc.d -f test remove

    命令输出的信息参考如下:

    Removing any system startup links for /etc/init.d/test …    /etc/rc0.d/K95test    /etc/rc1.d/K95test    /etc/rc2.d/S95test    /etc/rc3.d/S95test    /etc/rc4.d/S95test    /etc/rc5.d/S95test    /etc/rc6.d/K95test


----------------------------------------------------

CentOS系统下,主要有两种方法设置自己安装的程序开机启动。
1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。

  1. #!/bin/sh
  2. #
  3. # This script will be executed *after* all the other init scripts.
  4. # You can put your own initialization stuff in here if you don't
  5. # want to do the full Sys V style init stuff.
  6.  
  7. touch /var/lock/subsys/local
  8. /usr/local/apache/bin/apachectl start

2、把写好的启动脚本添加到目录/etc/rc.d/init.d/,然后使用命令chkconfig设置开机启动。
例如:我们把httpd的脚本写好后放进/etc/rc.d/init.d/目录,使用            【把自己写的服务放在系统服务位置】

  1. chkconfig --add httpd           【添加我的服务--->到系统服务】
  2. chkconfig httpd on               【设置此系统服务开启】

命令即设置好了开机启动。


PS: mysql开机自启动就是:

#cp support-files/mysql.server   /etc/init.d/mysql.server

----------------------------------------------------------------------------------------------------------------------------------


在Linux中开机自动启mysql
        1) #> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
        2) #> chmod +x /etc/init.d/mysql
        3) #> chkconfig --add mysql
              某些Linux(not RHAS3)还需要这个命令: #> chkconfig --level 345 mysql on
        4) 将下面命令行append到文件 /etc/rc.local (/etc/rc.d/rc.local)
                /bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'

其实我只做第4步,开机后MySQL也能启动


1.开机启动时自动运行程序

Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。


2.登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。

3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c 文件。


4.定期自动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为"00 9 23 Jan * HappyBirthday",运行"crontab cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。 (/etc/crontab中配置命令即可)也可以


5.定时自动运行程序一次
定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:at [ -f file ] time ,在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:


6.创建开机自启动脚本

-----------------------------------------------------------

  1) 将你的启动脚本复制到 /etc/init.d目录下

    以下假设你的脚本文件名为 test。

    2) 设置脚本文件的权限

    $ sudo chmod 755 /etc/init.d/test

    3) 执行如下命令将脚本放到启动脚本中去:

    $ cd /etc/init.d

    $ sudo update-rc.d test defaults 95

    注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:

    update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see

    卸载启动脚本的方法:

    $ cd /etc/init.d

    $ sudo update-rc.d -f test remove

    命令输出的信息参考如下:

    Removing any system startup links for /etc/init.d/test …    /etc/rc0.d/K95test    /etc/rc1.d/K95test    /etc/rc2.d/S95test    /etc/rc3.d/S95test    /etc/rc4.d/S95test    /etc/rc5.d/S95test    /etc/rc6.d/K95test


----------------------------------------------------

CentOS系统下,主要有两种方法设置自己安装的程序开机启动。
1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。

  1. #!/bin/sh
  2. #
  3. # This script will be executed *after* all the other init scripts.
  4. # You can put your own initialization stuff in here if you don't
  5. # want to do the full Sys V style init stuff.
  6.  
  7. touch /var/lock/subsys/local
  8. /usr/local/apache/bin/apachectl start

2、把写好的启动脚本添加到目录/etc/rc.d/init.d/,然后使用命令chkconfig设置开机启动。
例如:我们把httpd的脚本写好后放进/etc/rc.d/init.d/目录,使用            【把自己写的服务放在系统服务位置】

  1. chkconfig --add httpd           【添加我的服务--->到系统服务】
  2. chkconfig httpd on               【设置此系统服务开启】

命令即设置好了开机启动。


PS: mysql开机自启动就是:

#cp support-files/mysql.server   /etc/init.d/mysql.server

----------------------------------------------------------------------------------------------------------------------------------


在Linux中开机自动启mysql
        1) #> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
        2) #> chmod +x /etc/init.d/mysql
        3) #> chkconfig --add mysql
              某些Linux(not RHAS3)还需要这个命令: #> chkconfig --level 345 mysql on
        4) 将下面命令行append到文件 /etc/rc.local (/etc/rc.d/rc.local)
                /bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'

其实我只做第4步,开机后MySQL也能启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS上配置开机自启动有三种方式: 1. 直接在`/etc/rc.d/rc.local`中添加服务启动命令。这种方式是将启动命令直接添加到`rc.local`脚本中,系统完成启动后会自动执行该脚本,从而启动相应的服务。 2. 通过`chkconfig`命令配置服务自启动。使用`chkconfig`命令可以设置服务在特定运行级别下自启动,例如可以通过`chkconfig --level 345 service_name on`来设置服务在运行级别3、4和5下自启动。 3. 在CentOS 7上,可以使用`systemctl enable`命令来配置服务自启动。这种方式需要使用`systemctl`命令管理系统服务,通过`systemctl enable service_name`命令可以将服务添加到开机自启动列表中。 根据你的引用内容来看,常用的方式是通过在`/etc/rc.d/rc.local`中添加服务启动命令来实现开机自启动。这种方式简单且适用于大多数情况。所以你可以在`/etc/rc.d/rc.local`文件中添加你想要开机自启动的服务的启动命令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Linux(CentOS7)开机自启动的三种是设置方式详细图解(init.d&fstab&rc.local)](https://blog.csdn.net/zhanhjxxx/article/details/122811638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [Centos中配置开机自启动的方式汇总](https://blog.csdn.net/w1014074794/article/details/127297409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值