zoukankan      html  css  js  c++  java
  • 如何在Linux实现自动运行程序

    1、开机启动时

      Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。

      init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d ( /etc/rc?.d) 目录下的脚本文件,可以使init自动启动其它程序。

    /etc/rc:This file is responsible for starting/stopping services when the runlevel changes

    例如:

      编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。(也可修改/etc/inittab)

      添加mount /dev/sr0  /mnt,开机自动挂载光驱(用于yum安装)。

     

    2、登录时

    Q:bash启动时,会进行初始化,初始化就是执行一些脚本,有哪些脚本呢?

    A:分2种情况

    ①登录时启动的bash,登录shell

    初始化脚本执行顺序:/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc

    #如果这些脚本中的变量发出冲突,那么以最后一个脚本的设置生效。

    ②登录后启动的bash,非登录shell

    初始化脚本执行顺序:~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh

     

    注意:这些脚本中不要乱增加内容。例如:在脚本中增加echo,这会导致每次登录都输出echo(常用恶作剧)。

     

    3、退出登录时

      退出登录时,bash自动执行个人的退出登录脚本.bash_logout。

    例如:

      在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c 文件。

     

    4、定期自动运行程序

    ①使用at命令调用atd进程设置在某个特定的时间,执行一次性任务

    ②使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务

      Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。

      用户可以通过crontab 命令来建立、修改、删除这些命令文件。

    下回详解……

  • 相关阅读:
    文件下载(Servlet/Struts2)
    Spring学习(一)---依赖注入和控制反转
    MyBatis学习(三)---MyBatis和Spring整合
    MyBatis学习(二)---数据表之间关联
    MyBatis学习(一)---配置文件,Mapper接口和动态SQL
    转载:常见端口介绍
    CentOS7 yum提示:another app is currently holding the yum lock;waiting for it to exit
    批量删除文件,只保留目录下最新的几个文件,其他均删除
    转载:SQL Server 如何设置数据库的默认初始大小和自动增长大小
    阿里云ECS使用秘钥或者密码登录
  • 原文地址:https://www.cnblogs.com/geaozhang/p/6828971.html
Copyright © 2011-2022 走看看