如何在Linux实现自动运行程序?
作者:GeaoZhang 发布时间:[ 2017/5/10 9:44:14 ] 推荐标签:操作系统 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。
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 命令来建立、修改、删除这些命令文件。
下回详解……
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11