1、linux下启动进程的两种方式:
(1)方式一
手动启动:即用户输入命令直接启动。 分为前台运行和后台运行。
(2)方式二
调度启动:即系统根据事先的设定自行启动进程。
- at命令:在指定时刻运行某一个进程。
- cron命令:周期性的执行相关进程。
2、at命令 启动进程
(1)at命令功能简介
在指定的时刻执行相关的进程。
(2)使用at命令需要具备的条件
需要开启atd服务。
- 检查atd服务有无开启的命令 :
$ ps -eLf | grep atd
- 如果没开启的话,开启atd服务的命令:
/etc/init.d/atd start or restart
注意:atd 是守护进程,守护进程和任何终端没有关系,因此at指令要将输出重定向到文件中,否则不会显示。
(3)at命令的基本语法
- 进入at提示模式:
$ at [参数] [时间]
- 进入后的提示符为:
at >
- 退出at命令:在提示符状态下输入:
ctrl+d
举栗子: 终端中输入:$ at 21:01 2020-03-01
,然后出现了at> 提示符,这个时候键入 ./helloworld >hello.txt
,然后按 ctrl + D
键退出 at命令。
在到21:01时,文件hello.txt中就会被写入: hello world!
注意: 由于atd服务是守护进程,而守护进程和终端设备不会建立任何联系,因此在屏幕上是看不到打印输出的,必须重定向到文件中。
(4)at命令中的时间格式
- HH:MM YYYY-MM-DD
说明:规定在某年某月的某一天的特殊时刻进行该项任务
at 04:00 2009-03-17 - HH:MM[am|pm] + number [minutes|hours|days|weeks]
说明:规定在某个时间点再加多少时间后才进行该项任务
举例:
$at now + 5 minutes
现在5分钟后
$at 04:00pm + 3 days
3天后下午4点
注意:(3)的例子便是使用了这中格式的时间。
- 能够直接使用today(今天)、tomorrow(明天)来指定完成命令的时间
举例:在20:52 执行 hello_world 程序,并且重定向到hello.txt 文件中。
我运行程序的时候是20:50,可以发现在到了20:52的时候,hello.txt 文件中便会写入:hello world!
(5)与at命令相关的其它命令
- atq命令