linux 进程消失如何让它,在自动启动,谁知道,告诉我

linux 进程消失如何让它,在自动启动,谁知道,告诉我,第1张

一、/etc/rc.local

这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可,类似于windows下的“启动”。

例如,每次开机时要执行一个haha.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行“/opt/./haha.sh”,或者两行“cd /opt”和“./haha.sh”。

二、crontab

通过crontab可以设定程序的执行时间表,例如让程序在每天的8点,租中或者每个星期一的10点执行一次。

crontab -l 列出时间表;

crontab -e编辑时间表;

crontab -d删除时间表;

“-l”没什么可说的,就是一个查看而已;

“-e”是编辑,和vi没什么差别(其实就是用vi编辑一个特定文件);

“-d”基本不用,因为它把该用户所有的时间表都删除了,一般都是用“-e”编辑把不要了的时间表逐行删除;

那到底该如何编辑呢?

crontab文件的格式是:M H D m d CMD。

一个6个字段,其中最后一个CMD就是所要执行的程序,如haha.sh。

M:分钟(0-59)

H:小时(0-23)

D:日期(1-31)

m:月份(1-12)

d:一个星期中的某天(0-6,0代表周日)

这5个时间字段用空格隔开,其值可以是一个数字,也可以用逗号隔开的多个数字(或其他) ,如果不需设置,则默认为“*”。

例如,每天的8点5分执行haha.sh,就是“5 8 * * * /opt/./haha.sh”。

好像和“开机程序自动启动”扯远了,现在回归正题。其实上面介绍的crontab的功能已经具备了开机自动启动的能力,可以写败族一个监测脚本,每5分钟执行一次(*/5 * * * * ./haha.sh),如果程序不在了就重新启动一次。

三、注册系统服务

*** 弊枯山作系统自带的服务,如ssh,ftp等等,开机都是自动启动的,我们也可以通过这种方式让自己开发的程序提高“身价”。

可以看到“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本。

系统服务的启动就是通过“/etc/rc.d/init.d”中的脚本文件实现的。我们也可以写一个自己的脚本放在这里。

脚本文件的内容也很简单,类似于这个样子(例如起个名字叫做“hahad”):

. /etc/init.d/functions

start() {

echo "Starting my process "

cd /opt

./haha.sh

}

stop() {

killall haha.sh

echo "Stoped"

}

写了脚本文件之后事情还没有完,继续完成以下几个步骤:

chmod +x hahad#增加执行权限

chkconfig --add hahad #把hahad添加到系统服务列表

chkconfig hahad on #设定hahad的开关(on/off)

chkconfig --list hahad #就可以看到已经注册了hahad的服务

这时候才完成了全部工作。

程序

程序是完成特定任务的一系列指令集合。

进程

从用户的角度来看进程是程序的一次动态执行过程。

从 *** 作系统的核心来看,进程是 *** 作系统分配的内存、CPU时间片等资源的基本单位。

进程是资源分配的最小单位,每一个进程都有自己独立的地址巧游森空间与执行状态。

像Unix这样的多任务 *** 作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程孝亩。

Linux中进程与程序的区别

1、进程是动态的,程序是静态的

程序是静态的,它只是一组指令的集合,不具有任何的运行意磨扒义而进程是程序运行的动态过程。

2、进程的生命周期是相对短暂的,而程序是永久的

3、一个进程只能对应一个程序,一个程序可以对应多个进程

进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程

4、进程还具有并发性和交往性,而程序却是封闭的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12482546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存