今天宠物迷的小编给各位宠物饲养爱好者分享linux 自启动设置的宠物知识,其中也会对如何在linux里面设置程序自动启动?(如何在linux里面设置程序自动启动软件)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
开发板添加语音合成和继电器功能并设置开机自启动。
1、crontab命令的功能是在一定的时间间隔调度一些命令的执行,它可以完成定时任务。
1.1 Crontab语法
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user's crontab) //编写任务
-l (list user's crontab) //查看任务
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
-s (selinux context)
其中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。
1。2编辑一个计划任务:
#crontab -e //编辑机会任务
#每天早上6点10分
10 6 * * * restart
保存退出。
#crontab -l //查看机会任务
2、在linux系统里可以编写重启脚本,依靠守护进程执行自动任务。你需要完成的是,把你的守护进程的脚本在/etc/rc.d/init.d/目录下,例如:myrestart
vi /etc/rc.d/init.d/myrestart
#!/bin/bash
#This is restart daemon
# See how we were called.
case "$1" in
start)
su - root restart
;;
fi
;;
echo $"Usage: $0 {start}"
exit 2
esac
保存退出
改变文件权限
# chmod 755 /etc/init.d/myrestart
添加服务
# chkconfig --level 35 myrestart on
使用方法
# service myrestart start //重启
注意:我这里加了一个start的参数,避免误操作重启。你可以自行处理。
linux设置开机服务自动启动
[root@localhost ~]# chkconfig --list 显示开机可以自动启动的服务
[root@localhost ~]# chkconfig --add *** 添加开机自动启动***服务
[root@localhost ~]# chkconfig --del *** 删除开机自动启动***服务
****2cto***m
[root@localhost ~]# setup 可以在shell图形终端里面配置的命令,去service里选择
[root@localhost ~]# ntsysv 在shell终端图形配置开机启动服务命令,选项没上面那个多
setup 、rc.local 和chkconfig三种方式都可以设置
第一种)
输入#setup指令进入系统服务菜单,选择你想启动的服务比如httpd,然后重起机器或者/etc/rc.d./init.d/httpd
start
****2cto***m
第二种)
把启动命令放到/etc/rc.d/rc.local文件里这样就可以每次启动的时候自动启动服务了,例如对于apache,编译好apache后会在安装目录的bin下生成apachectl文件,这是个启动脚本,我们只需要把这个命令加到rc.local里就可以了
(suse没有rc.local。SUSE是可以这么定义自己的脚本的,如果希望在切换运行级之前和之后运行自己的脚本,那么可以分别创建:
/etc/init.d/before.local
/etc/init.d/after.local)
echo /usr/local/apache/bin/apachectl>> /etc/rc.d/rc.local,
设置服务自动启动的方式是在rc.local里还可以加入类似以下的一些脚本:
#sshd
/usr/local/sbin/sshd
#proftpd
/usr/local/sbin/proftpd
#apache
/home/apache/bin/apachectl start
#mysql
/home/mysql/bin/safe_mysqld --port=3306 &
#start oracle8i listener first
su - oracle -c 'lsnrctl start'
#start oracle8i
su - oracle -c 'dbstart'
第三种)
通过chkconfig指令.
使用chkconfig命令来把某项服务加到系统的各项运行级别中,步骤如下,
1 创建启动脚本.
对于apache,mysql,ssh这样的软件都是自己带的,我们只要稍微修改一下使之支持chkconfig就可以了
2 修改脚本
我们需要在脚本的前面加上一下2行,才能支持chkconfig命令
# chkconfig: 2345 08 92
#
# description: Automates a packet filtering firewall withipchains.
#
chkconfig:后面定义的使启动服务的运行级别(例子中使2345启动改服务),以及关闭和启动服务的顺序,(上例中关闭服务的顺序使8,启动的顺序使92)
descriptions:对改服务的描述(上例中是ipchains**滤),你可以换成自己想要的
修改好之后执行
cp 你的脚本 /etc/rc.d/init.d/脚本名
chmod 700 /etc/rc.d/init.d/脚本名
chkconfig --add 脚本名
例如:
将其加入Linux启动过程,仅在level 3, level 5级别下运行
[root@Tester init.d]/sbin/chkconfig --add apache-httpd
[root@Tester init.d]/sbin/chkconfig --level 35 apache-httpdon
之后就可以了,以后每次重新启动服务器都会自动启动和关闭我们的服务了
需要解决更多linux问题,详情请看 http://****linuxprobe***m/chapter-00.html
望采纳!
在linux系统下,设置某个服务自启动的话,需要在/etc/rcX.d下挂载,还要在/etc/init.d/下写启动脚本的。
1、在/etc/init.d/下新建一个文件tomcat(需要在root权限下操作)。
2、vi /etc/init.d/tomcat
写入如下代码:
# tomcat自启动脚本
#!/bin/sh
# chkconfig: 345 99 10
# description: Auto-starts tomcat
# /etc/init.d/tomcatd
# Tomcat auto-start
# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network
RETVAL=0
export JDK_HOME=/usr/java/jdk1.7.0_45 (请填**实的JDK目录)
export CATALINA_HOME=/home/ldatum/usr/apache-tomcat-7.0.10(请填**实的tomcat目录)
export CATALINA_BASE=/home/ldatum/usr/apache-tomcat-7.0.10(请填**实的tomcat目录)
start()
{
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
$CATALINA_HOME/bin/startup.sh
RETVAL=$?
echo " OK"
return $RETVAL
fi
}
stop()
{
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
$CATALINA_HOME/bin/shutdown.sh
RETVAL=$?
sleep 1
ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9
echo " OK"
# [ $RETVAL -eq 0 ] && rm -f /var/lock/...
return $RETVAL
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
echo $"Restaring Tomcat"
$0 stop
sleep 1
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
3、添加完毕之后,给其增加可执行权限:chmod +x /etc/init.d/tomcat.之后就是将这个shell文件的link连到/etc/rc2.d/目录下。
4、linux的/etc/rcX.d/目录中的数字代表开机启动时不同的
run level,也就是启动的顺序,Ubuntu9.10下有0-5六个level,不能随便连到其他目录下,可能在那个目录中的程序启动时
Tomcat所需要的一些库尚未被加载,用ln命令将tomcat的链接链过去:ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat。
注意:rcX.d目录下的命名规则是很有讲究的,更具不同需要可能是S开头,也可能是K开头,之后的数字代表他们的启动顺序,详细看各自目录下的Readme文件。
5、接下来就是把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:chkconfig ——add tomcat。如果chkconfig没有安装,则使用apt-get 或者yum之类的程序进行安装,一般服务器版本的Linux都已经自带了。
6、最后,就是reboot重启系统了。重启之后就会发现,Tomcat已经成功运行了。
开发板添加语音合成和继电器功能并设置开机自启动。
Linux开机启动程序详解
我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤。
加载内核
LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核。请记住此时的计算机内存中还不存在任何操作系统,PC(因为它们天然的设计**)也还没有办法存取机器上全部的内存。因此,内核就必须完整地加载到可用RAM的第一个兆字节之内。为了实现这个目的,内核是被压缩了的。这个文件的头部包含着必要的代码,先设置CPU进入安全模式(以此解除内存限制),再对内核的剩余部分进行解压缩。
执行内核
内核在内存中解压缩之后,就可以开始运行了。此时的内核只知道它本身内建的各种功能,也就是说被编译为模块的内核部分还不能使用。最基本的是,内核必须有足够的代码设置自己的虚拟内存子系统和根文件系统(通常就是ext2文件系统)。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统之后,将启动并运行一个叫做init的程序。
注意:在这里我们故意略去了Linux内核启动的许多细节,这些细节只有内核开发人员才感兴趣。如果你好奇的话,可以访问http://****redhat***m:8080地址处的"Kernel Hackers Guide"。
init进程
init进程是非内核进程中第一个被启动运行的,因此它的进程编号PID的值总是1。init读它的配置文件/etc/inittab,决定需要启动的运行级别(Runlevel)。从根本上说,运行级别规定了整个系统的行为,每个级别(分别由0到6的整数表示)满足特定的目的。如果定义了initdefault级别,这个值就直接被选中,否则需要由用户输入一个代表运行级别的数值。
输入代表运行级别的数字之后,init根据/etc/inittab文件中的定义执行一个命令脚本程序。缺省的运行级别取决于安装阶段对登录程序的选择:是使用基于文本的,还是使用基于X-Window的登录程序。
rc命令脚本程序我们已经知道,当运行级别发生改变时,将由/etc/inittab文件定义需要运行哪一个命令脚本程序。这些命令脚本程序负责启动或者停止该运行级别特定的各种服务。由于需要管理的服务数量很多,因此需要使用rc命令脚本程序。其中,最主要的一个是/etc/rc.d/rc,它负责为每一个运行级别按照正确的顺序调用相应的命令脚本程序。我们可以想象,这样一个命令脚本程序很容易变得难以控制!为了防止这类事件的发生,需要使用精心设计的方案。
对每一个运行级别来说,在/etc/rc.d子目录中都有一个对应的下级目录。这些运行级别的下级子目录的命名方法是rcX.d,其中的X就是代表运行级别的数字。比如说,运行级别3的全部命令脚本程序都保存在/etc/rc.d/rc3.d子目录中。在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接,但是,这些符号链接并不使用命令脚本程序在/etc/rc.d/init.d子目录中原来的名字。如果命令脚本程序是用来启动一个服务的,其符号链接的名字就以字母S打头;如果命令脚本程序是用来关闭一个服务的,其符号链接的名字就以字母K打头。
许多情况下,这些命令脚本程序的执行顺序都很重要。如果没有先配置网络接口,就没有办法使用DNS服务解析主机名!为了安排它们的执行顺序,在字母S或者K的后面紧跟着一个两位数字,数值小的在数值大的前面执行。比如:/etc/rc.d/rc3.d/S50inet就会在/etc/rc.d/rc3.d/S55named之前执行(S50inet配置网络设置,55named启动DNS服务器)。存放在/etc/rc.d/init.d子目录中的、被符号链接上的命令脚本程序是真正的实干家,是它们完成了启动或者停止各种服务的操作过程。当/etc/rc.d/rc运行通过每个特定的运行级别子目录的时候,它会根据数字的顺序依次调用各个命令脚本程序执行。它先运行以字母K打头的命令脚本程序,然后再运行以字母S打头的命令脚本程序。对以字母K打头的命令脚本程序来说,会传递Stop参数;类似地对以字母S打头的命令脚本程序来说,会传递Start参数。编写自己的rc命令脚本在维护Linux系统运转的日子里,肯定会遇到需要系统管理员对开机或者关机命令脚
本进行修改的情况。
有两种方法可以用来实现修改的目的:
●如果所做的修改只在引导开机的时候起作用,并且改动不大的话,可以考虑简单地编辑一下/etc/rc.d/rc.local脚本。这个命令脚本程序是在引导过程的最后一步被执行的。
●如果所做的修改比较细致,或者还要求关闭进程使之明确地停止运行,则需要在/etc/rc.d/init.d子目录中添加一个命令脚本程序。这个命令脚本程序必须可以接受Start和Stop参数并完成相应的操作。
第一种方法,编辑/etc/rc.d/rc.local脚本,当然是两种方法中比较简单的。如果想在这个命令脚本程序中添加内容,只需要使用喜欢的编辑器程序打开它,再把打算执行的命令附加到文件的末尾就可以了。这对一两行的修改来说的确很便利。
如果确实需要使用一个命令脚本程序,这时必须选择第二个方法。编写一个rc命令脚本程序的过程并不像想象中那么困难。我们下面就给出一个例子,看看它是怎样实现的(顺便说一句,你可以把我们的例子当作范本,按照自己的需要进行修改和添加)。
假设你打算每隔60分钟调用一个特殊的程序来弹出一条消息,提醒自己需要从键盘前面离开休息一会儿,命令脚本程序将包括下面几个部分:
●关于这个命令脚本程序功能的说明(这样就不会在一年之后忘记它);
●在试图运行它之前验证这个命令脚本程序确实存在;
●接受start和stop参数并执行要求的动作。
参数给定后,我们就可以编写命令的脚本程序。这个程序很简单,大家可以自己编写一下,我在这里就不给出了。
编写好新的命令脚本程序之后,再从相关的运行级别子目录中加上必要的符号链接,来控制这个命令脚本程序的启动或者停止。在我的印象中,只想让它在运行级别3或者运行级别5中启动,原因是我认为只有这两个运行级别才是日常工作的地方。最后,希望这个命令脚本程序在进入运行级别6(重启动)的时候被关闭。
激活或者禁止服务项目有的时候会发现,在引导的时候并不需要某个特定的服务被启动。如果你正在考虑使用Linux替换Windows NT的文件和打印服务器,就更是如此。我们已经知道,在特定的运行级别子目录中给符号链接改个名称,就可以让该服务不被启动,如把其名称的第一个字母由S改为K。一旦熟练掌握了命令行和符号链接,就会发现这是激活或者禁止服务的最快办法。
在学习这个改名方法的时候,可能会觉得图形化的操作界面ksysv比较容易掌握。虽然它原来是设计使用在KDE环境里的,但在Red HatLinux 7.2下缺省安装的GNOME环境里也运行得很好。如果想启动它,只需简单地打开一个xterm窗口,并输入ksysv命令就可以了。屏幕上会出现一个窗口,其中列出了能够修改的全部参数,需要时还包括在线帮助。警告:如果是在一个现实中的系统上学习本文的知识,要多多运用常识。当试着对启动脚本程序进行修改的时候,要记住所做的修改可能会造成你的系统不能正常工作,而且无法采用重启动的方法恢复。不要在正常运转的系统上实验新的设置,对你准备修改的文件要全部进行备份。最重要的是,在手边要准备一张引导盘以防不测。
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“如何在linux里面设置程序自动启动?”
上一篇
不同年龄段的萨摩耶该吃甚么食品