linux启动脚本怎么写

1.linux启动脚本如何写

第1种:直接写入 rc.local 文件 如:echo " ls -la >/tmp/a.txt " >>/etc/rc.local(这种是直接把命令写入启动文件rc.local中,当然也可以引申为 将命令直接写入到sh文件,再加上执行权限,将这个全路径文件名写入rc.local也一样) 第2种:先使用runlevel 查看正常启动所运行的级别上,再在/etc/rc*.d(星号代表运行级别,各系统可能存在差异)的目录中新加入(不是写入)启动文件以S开头的文件。

这种方法稍稍复杂点。

2.linux启动脚本如何写

inittab是很多linux版本的启动脚本。

Linux在完成核内引导以后,就开始运行init程序,它的进程号是1,是所有其他进程的起点。init需要读取/etc/inittab,该文件告诉init在它的每个运行级别上需要做哪些事情。

init共定义了七个运行级(run level),分别是什么?# Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # - 关闭计算机,安全关闭电源 # 1 - Single user mode # - 进入单用户维护模式,卸下除root以外的所有文件系统并杀死所有用户进程 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # - 多用户模式,无网络连接 # 3 - Full multiuser mode # - 多用户模式,并以文本方式作为登陆方式 # 4 - unused # 5 - X11 # - 多用户模式,并以图形方式作为登陆方式 # 6 - reboot (Do NOT set initdefault to this) # - 停止linux系统,并按照/etc/inittab默认的登记项重新引导系统通常在/etc/inittab的开头就定义了系统默认启动到的级别,如:id:3:initdefault:id - 用来定义缺省的init运行的级别3 - 默认的级别为此 (Full multiuser mode)initdefault - 是关键字,表示默认的级别。系统管理员可以通过修改这条语句方便地修改默认的运行级别。

在机器引导时,init从运行级0开始,一级一级往上运行到在/etc/inittab中所设置的默认运行级别。为了完成在每一对相邻运行级别之间的过渡,init运行在/etc/inittab中为这种过渡而说明的一些操作。

当机器关闭时,以相反的顺序执行同样的处理过程。既然之前指定的默认运行级别是3,那么init就要执行/etc/rc.d/rc3.d目录中的脚本。

/etc/rc.d/rcN.d/目录中的这些启动脚本实际上都是一些链接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。而这些rc启动脚本有着类似的用法,它们一般能接受start、stop、restart、status等参数。

我们可以看到/etc/rc.d/rc5.d/中的 rc启动脚本通常是K或S开头的链接文件,对于以以S开头的启动脚本,将以start参数来运行。而如果发现存在相应的脚本也存在K打头的链接,而且已经处于运行态了(以/var/lock/subsys/下的文件作为标志),则将首先以stop为参数停止这些已经启动了的守护进程,然后再重新运行。

这样做是为了保证是当init改变运行级别时,所有相关的守护进程都将重启。下面讲下几个特殊的linux.对于arch:以我机子上的arch linux为例,inittab如下:[sai@myhost etc]$ cat inittab ## /etc/inittab## Runlevels:# 0 Halt# 1(S) Single-user# 2 Not used# 3 Multi-user# 4 Not used# 5 X11# 6 Reboot## Only one of the following two lines can be uncommented!# Boot to console#id:3:initdefault:# Boot to X11id:5:initdefault:rc::sysinit:/etc/rc.sysinit //第1个启动脚本rs:S1:wait:/etc/rc.single //当以S和1运行级启动时,rs为代号,wait为行为描述,下同rm:2345:wait:/etc/rc.multi //当以2-5运行级启动时rh:06:wait:/etc/rc.shutdown //6运行级启动时su:S:wait:/sbin/sulogin -p //S运行级启动时# -8 options fixes umlauts problem on loginc1:2345:respawn:/sbin/agetty -8 38400 tty1 linuxc2:2345:respawn:/sbin/agetty -8 38400 tty2 linuxc3:2345:respawn:/sbin/agetty -8 38400 tty3 linuxc4:2345:respawn:/sbin/agetty -8 38400 tty4 linuxc5:2345:respawn:/sbin/agetty -8 38400 tty5 linuxc6:2345:respawn:/sbin/agetty -8 38400 tty6 linuxca::ctrlaltdel:/sbin/shutdown -t3 -r now# Example lines for starting a login managerx:5:respawn:/usr/bin/xdm -nodaemon#x:5:respawn:/usr/sbin/gdm -nodaemon#x:5:respawn:/usr/bin/kdm -nodaemon#x:5:respawn:/usr/bin/slim >& /dev/null# End of file由id:5:initdefault:看出默认运行级别为5。

arch并没有提供rcN.d之类的目录,但是我们由这一句rm:2345:wait:/etc/rc.multi看到会执行/etc/rc.multi/rc.multi脚本。内容如下:[sai@myhost etc]$ cat rc.multi #!/bin/bash## /etc/rc.multi#. /etc/rc.conf. /etc/rc.d/functions# Load sysctl variables if sysctl.conf is present[ -r /etc/sysctl.conf ] && /sbin/sysctl -q -p &>/dev/null# Start daemonsfor daemon in "${DAEMONS[@]}"; do if [ "$daemon" = "${daemon#!}" ]; then if [ "$daemon" = "${daemon#@}" ]; then start_daemon $daemon else start_daemon_bkgd ${daemon:1} fi fidoneif [ -x /etc/rc.local ]; then /etc/rc.localfi# vim: set ts=2 noet:会执行/etc/rc.conf和/etc/rc.d/functions,前者是arch用户最熟悉的,后者看看代码很长,也是一些启动设置。

上面我们看到会执行/etc/rc.local,这个也是一个启动脚本,用户常加入自定义脚本在里面。/etc/rc.conf里面的服务启动都是相应在/etc/rc.d/目录下当脚本,arch上并没有链接到/etc/init.d目录下,因为arch根本没有/etc/init.d这个目录对于ubuntu:参考文档ubuntu中inittab不见了,而变成了upstart机制,启动脚本改成了/etc/event.d/rc-default,内容如下:start on stopped rcSscript runlevel --reboot || true if grep -q -w -- "-s\|single\|S" /proc/cmdline; then telinit S elif [ -r /etc/inittab ]; then RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /。

3.如何写一个linux脚本启动程序

#!/bin/bash

# The next lines are for chkconfig on RedHat systems.

# chkconfig: 35 98 02

# description: Starts and stops xxx Server

# The next lines are for chkconfig on SuSE systems.

# /etc/init.d/xxx

#

### BEGIN INIT INFO

# Provides: xxx

# Required-Start: $network $syslog

# Required-Stop:

# Default-Start: 2 3 5

# Default-Stop: 0 6

# Short-Description: Starts and stops xxx Server

# Description: Starts and stops xxx Server

### END INIT INFO

免费提供最新Linux技术教程书籍,入门自学书籍《linux就该这么学》,为开源技术爱好者努力做得更多更好

4.linux系统开机启动自己写的脚本

系统是redhat吗?如果是redhat,那么以上写法至少没有错,不过有2点需要注意:

1、autorun.sh是一次性运行,还是常驻内存?如果是常驻内存,建议改为:

cd /home/guest/myproject

(./autorun.sh &)

2、autorun.sh里面的内容是具体干什么?是不是依赖于其他某些库或配置文件?

3、autorun.sh文件前面有#!/bin/sh吗?

linxu redhat的启动方式和执行次序是:

加载内核 执行init程序 /etc/rc.d/rc.sysinit # 由init执行的第一个脚本 /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式 /etc/rc.d/rc.local #相应级别服务启动之后、在执行该文件(其实也可以把需要执行的命令写到该文件中) /sbin/mingetty # 等待用户登录在Redhat中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括: 调入keymap以及系统字体 启动swapping 设置主机名 设置NIS域名 检查(fsck)并mount文件系统 打开quota 装载声卡模块 设置系统时钟 等等。/etc/rc.d/rc则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。凡是以Kxx开头的,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx从小到大来执行。(其中xx是数字、表示的是启动顺序)例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用/etc/rc.d/rc3.d/下的脚本。值得一提的是,Redhat中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。至此,LINUX的启动结束。希望能够帮助到你!

5.linux判断某服务是否启动脚本怎么写

用ps命令结合grep命令查找该服务名是否存在即可达到效果:

svc="sendmail"

if ps -ef | grep $svc | egrep -v grep >/dev/null

then

echo "$svc is started!"

else

echo "$svc not found!"

fi说明:

ps -ef : 显示当前所有在运行的进程

|:管道,即其前面命令的的输出,作为后面命令的输入

grep service_name : 在输出信息中,查找service_name数据行

egrep -v grep: 不显示grep查找命令本身

6.linux开机启动脚本

需要自己写一个脚本脚本内容是一个死循环,里面包含查询进程的命令ps,让后grep出你的进程如果发现你的进程就认为启动成功,没发现就一直等待。

脚本例子,监控mysqls_port=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`if [ "$s_port" == "3306" ]; then echo " mysql is running [`date '+%F %T'`]" echo $s_logfieelse echo " mysql is down try start [`date '+%F %T'`]" > $s_logfie_err $s_mysqldir/share/mysql/mysql.server restart --user=root sleep 10 s_port=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'` if [ "$s_port" == "3306" ];then echo " mysql start ok [`date '+%F %T'`]" else echo " mysql start fail [`date '+%F %T'`]" fifi把这个脚本用crontab间隔一定时间调用一次,比如5分钟,就ok了。

7.linux开机启动脚本

需要自己写一个脚本

脚本内容是

一个死循环,里面包含查询进程的命令ps,让后grep出你的进程

如果发现你的进程就认为启动成功,没发现就一直等待。

脚本例子,监控mysql

s_port=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`

if [ "$s_port" == "3306" ]; then

echo " mysql is running [`date '+%F %T'`]"

echo $s_logfie

else

echo " mysql is down try start [`date '+%F %T'`]" > $s_logfie_err

$s_mysqldir/share/mysql/mysql.server restart --user=root

sleep 10

s_port=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`

if [ "$s_port" == "3306" ];then

echo " mysql start ok [`date '+%F %T'`]"

else

echo " mysql start fail [`date '+%F %T'`]"

fi

fi

把这个脚本用crontab间隔一定时间调用一次,比如5分钟,就ok了

linux启动脚本怎么写

转载请注明出处育才学习网 » linux启动脚本怎么写

知识

硕大的硕怎么写

阅读(222)

本文主要为您介绍硕大的硕怎么写,内容包括硕大的硕的意思是,硕大的硕可以组什么词,硕大的硕什么意思。硕大的硕可以组什么词 :儒硕、硕牲、孔硕、瑰硕、硕望、硕鼠、鸿硕、硕惠、颀硕、硕义、硕人、硕彦、滋硕、硕虑、硕言、硕丽、宏硕、硕

知识

幼师的单词怎么写

阅读(217)

本文主要为您介绍幼师的单词怎么写,内容包括幼师的单词怎么说,老师的英文单词怎么写,老师的英语单词怎么读。teacher读音:英 [ˈti:tʃə(r)] 美 [ˈtitʃɚ] n.教师,教员,老师,先生;[航]教练机复数: teachers

知识

七月初七怎么写

阅读(191)

本文主要为您介绍七月初七怎么写,内容包括农历7月初7也可以写成7月7日吗,描写七月初七的诗词,七夕贺卡怎么写。有这样一种感觉,说不清楚;有这样一种心情,想不明白;当我见到了你,才知道那就是爱。2、醉过才知酒浓,爱过方知情重。回转人世间活一回,

知识

怎么写育儿日记

阅读(191)

本文主要为您介绍怎么写育儿日记,内容包括育儿日记怎么写,怎么写亲子日记,育儿日记怎么写。幼儿园老师说,要写育儿心得。说起育儿心得,还真总结不出个一二。芊芊是我经历了五年三次保胎后流产,最后一次保胎躺床上四个月才保来的小福宝,

知识

连笔字怎么写耀

阅读(198)

本文主要为您介绍连笔字怎么写耀,内容包括连笔字怎么写,(耀)字的简笔怎么(耀)字的简笔怎么写,甲骨文耀字怎么写。口的使用写法有三种,在不影响辨识的情况下,都可以使用

知识

罚款委托书怎么写

阅读(166)

本文主要为您介绍罚款委托书怎么写,内容包括处理车辆违章的委托书怎么写,处理违章委托书怎么写,企业委托他人办理罚款业务,委托书怎么写。处理违章委托书首先应写明委托人及受托人的姓名、身份证号码及联系方式,其次写明委托事项,如:办理车牌

知识

卡通的韩语怎么写

阅读(216)

本文主要为您介绍卡通的韩语怎么写,内容包括卡通字体的韩语想你怎么写,请问"韩国卡通"的韩文怎么写急用的,漫画用韩语怎么说。的 [de] 字是多音字,所以韩文也要3种解释 과녁-적 부수: 白 1. 정어(定语) 뒤에 쓰여 문법 관계를 나타내는 구조조사(

知识

德育征文怎么写

阅读(209)

本文主要为您介绍德育征文怎么写,内容包括德育作文的题目,我爱校园征文怎么写,关于德育活动的作文。我爱校园 学校,当你听到这个名词时,你的感想如何呢?是洋溢欢声笑语的,是充满朝气蓬勃的,或是少年儿童在里面长知识、学做人的?这些都是,它

知识

施工目标怎么写

阅读(337)

本文主要为您介绍施工目标怎么写,内容包括施工员工作目标怎么写,施工计划怎么写,施工目标责任书怎么写。不熟悉,只能抄文章给你参考,第一篇是一个学生施工员的工作计划,第二篇是关于施工员工作要求的,希望对你有所帮助 施工员工作计划2004-2

知识

名片办事处怎么写

阅读(203)

本文主要为您介绍名片办事处怎么写,内容包括名片怎么写,怎样写名片呢,做自己的名片,单位该如何写。颜色不要过于三种,排版要平衡,字数要少,通常写 名字 公司 职位 电话 和其他联系方式 (E-mail) 精致有质感 让客户喜欢保留!!

知识

心理协会申请书怎么写

阅读(211)

本文主要为您介绍心理协会申请书怎么写,内容包括入心理社团申请书,心灵协会申请书怎么写啊,心灵协会申请书怎么写啊。入心理社团申请书 尊敬的学院领导,你们好: 我自愿申请加入学校心理社团,这对于我来说是一次学习、鞭策和提高的机会,也是对我

知识

植物笔记怎么写

阅读(169)

本文主要为您介绍植物笔记怎么写,内容包括植物日记怎么写,植物观察日记怎么写,植物日记怎么写,要少。篇一:观察绿豆发芽日记 我用了一个塑料瓶,装了一些土,种了几颗绿豆,浇好水,就开始等待着绿豆的发芽。几天后,终于功夫不负有心人,绿豆成功

知识

在职在岗情况怎么写

阅读(692)

本文主要为您介绍在职在岗情况怎么写,内容包括在职在岗证明格式怎么写,在职在岗证明格式怎么写,填表时的工作状态怎么填啊。在职在岗证明XXXXXXX(给你要此证明的单位):兹证明XXX(你的姓名)同志,自xx年xx月xx日至今,在我公司xxx处(处室、或车间

知识

稽核计划怎么写

阅读(172)

本文主要为您介绍稽核计划怎么写,内容包括稽核报告怎么写啊,施工现场稽核方案如何编写,如何写内审年度计划。原发布者:woaiqinfenfen关于对xx信用社的稽核检查报告县联社:按照联社[xxxx]x号文件“关于对全县农村信用社开展案件专项

知识

摄影脚本怎么写

阅读(234)

本文主要为您介绍摄影脚本怎么写,内容包括《拍摄脚本怎么写》,请问拍摄脚本什么形式怎么写,服饰摄影的前期拍摄脚本怎么写。视频拍摄脚本 表现人走路 镜头 景别 摄法、技巧 时间 画面内容 音效 1 全景抄 固 3s 白天,一个女孩在校道里拍照

知识

真人秀脚本怎么写

阅读(383)

本文主要为您介绍真人秀脚本怎么写,内容包括影视脚本怎么写,脚本是怎么写的,《拍摄脚本怎么写》。脚本可以说是故事的发展大纲,用以确定故事的发展方向。之后,确定故事到底是在什么地点,什么时间,有哪些角色,角色的对白,动作,情绪的变化,

知识

抢月饼脚本怎么写

阅读(193)

本文主要为您介绍抢月饼脚本怎么写,内容包括抢月饼的js怎么写,关于阿里开除的那几位抢月饼的员工,用JS怎么写,抢月饼被开除是真的吗阿里巴巴员工脚本抢月饼为什么被开除。//物品ModPE.setItem(500,"record_11",0,"糖馅月饼");ModPE.setItem(501,"r

知识

怎么写网页脚本

阅读(221)

本文主要为您介绍怎么写网页脚本,内容包括怎么写有关网页的脚本,写网页脚本可以用什么写,如何用c语言写网页脚本。怎么看网页的脚本:方法其实很简单,首先打开你需要查看的网页,单击鼠标右键,找到查看源代码选项,然后你就可以看到源代码了。在这

知识

bash脚本怎么写

阅读(163)

本文主要为您介绍bash脚本怎么写,内容包括求写一个bash脚本,如何编写一个shell脚本,如何写一个linux的shell脚本。脚本如下。#!/bin/bash# defaultip=192.168.168.168count=3if [ $# -eq 2 ]; t

知识

模拟器脚本怎么写

阅读(264)

本文主要为您介绍模拟器脚本怎么写,内容包括麻烦问问,怎么在模拟器上用触动精灵写脚本,游戏脚本怎么写或制作,写BlueStacks安卓模拟器脚本的一般步骤是什么。首先在靠谱助手“我的应用中“找到自己需要的游戏并打开2、打开游戏的同时,靠谱助

知识

linuxsh怎么写

阅读(172)

本文主要为您介绍linuxsh怎么写,内容包括请教一个linuxsh命令写法,linux中,怎么用sh写一个脚本,怎么写LINUX的SHELL。在进行linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名

知识

启动方案怎么写

阅读(171)

本文主要为您介绍启动方案怎么写,内容包括110KV变电站启动方案该怎么写呢,应急预案怎么写,现在我的公司已经成立了,我想写一个公司启动方案,那么我应该怎么。照着这个范文写就可以了,已经是很简单的那种了,适合销售部门: 乡镇酒

[/e:loop]