博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu 开机启动时自动运行程序
阅读量:6813 次
发布时间:2019-06-26

本文共 1800 字,大约阅读时间需要 6 分钟。

hot3.png

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 :

/ect/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”,运行“crontabcronFile”命令后,每当元月23日上午9:00系统自动执行“HappyBirthday”的程序(“*”表示不管当天是星期几)。

5. 定时自动运行程序一次

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

$ at 12:00

at>mailto Roger -s ″Have a lunch″ < plan.txt

at>Ctr-D

Job 1 at 2000-11-09 12:00

2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger.

下添加开机启动脚本

开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。

当然要添加到语句:exit 0 前面才行。

如:

sudo vi /etc/rc.local

然后在 exit 0 前面添加好脚本代码。

后续有空再研究下添加一个的开机启动服务看看。

如果要添加为开机启动执行的脚本文件,可先将脚本复制或者软连接到/etc/init.d/目录下,然后用:update-rc.d xxx defaults NN命令(NN为启动顺序),将脚本添加到初始化执行的队列中去。

注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如98 。

编写ejb启动文件,添加到/etc/init.d/

执行命令update-rc.d ejb defaults 98

#!/bin/sh
ejb_start(){
sudo /usr/local/jboss-4.2.3.GA.ejb/bin/run.sh -c default -b 192.168.1.144
}
ejb_stop(){
sudo /usr/local/jboss-4.2.3.GA.ejb/bin/shutdown.sh -s 192.168.1.144 -S
}
case $1 in
start)
ejb_start
;;
stop)
ejb_stop
;;
*)
echo 'Usage:ejb start|stop'
;;
esac

转载于:https://my.oschina.net/roockee/blog/38766

你可能感兴趣的文章
jQuery.noConflict() 方法—— jquery库与其他库冲突的问题解决
查看>>
linux下inet_ntoa(包括inet_ntop)和printf的使用问题
查看>>
关于Linux 中getopt_long的用法
查看>>
【吾日三省吾身】2015.6.06-涅槃行动第十九天
查看>>
我的友情链接
查看>>
DRBD群集搭设
查看>>
我的友情链接
查看>>
centos下的KVM虚拟化实验
查看>>
我的友情链接
查看>>
Filter 禁止浏览器缓存动态资源,例如JSP资源 -学习笔记
查看>>
继承的好处和弊端学习
查看>>
RAID与LVM整理与总结
查看>>
51nod 1241:特殊的排序
查看>>
mogilefs详解
查看>>
简单工厂模式结构
查看>>
LearnMVC5-AddView
查看>>
zabbix3.x安装出现“configure: error: Not found mysqlclient library”的解决办法
查看>>
Windows Server 2008 R2和Windows 7脱机加入域
查看>>
让Windwos Server 2008 R2 SP1的FTP真正能访问
查看>>
SCOM-Agent安装—基于Windows工作组
查看>>