Linux —— 启动进程(at 命令和 crontab 命令)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/starter_____/article/details/89222900

进程的概念

Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性:

  • 交互进程:由shell启动的进程。
  • 批处理进程:这种进程和终端没有联系,是一个进程序列。
  • 守护进程:在后台持续运行的进程。

Linux中的进程其属性主要有:

  1. PID:进程唯一的数值,用来区分进程。
  2. PPID:父进程和父进程的ID
  3. UID:启动进程的用户ID
  4. GID:所归属的组
  5. 进程状态:状态分为运行R、休眠S、僵尸Z
  6. 进程执行的优先级
  7. 进程所连接的终端名
  8. 进程资源占用(内存、CPU占用量)

进程的启动

一、手动启动进程:

用户输入将要运行的程序名字,执行该程序,就是手工启动进程。手工启动进程又分为前台启动和后台启动。

前台启动:

一般地,用户键入一个命令,就已经启动了一个前台的进程。

  • ctrl+c 或 kill:中断前台进程

后台启动:

对于非常耗时进程,可以让进程在后台运行。从后台启动进程其实就是在命令结尾加上一个“&”号 。后台启动进程后,Shell终端不会等待该命令执行完毕才能执行下一个命令,而是提示用户该进程的进程号,然后出现Shell提示符,用户可以继续在终端上操作。

  • jobs:显示所有后台进程
  • ctrl+z:前台->后台,并暂停
  • fg :将后台进程调到前台执行
  • bg :将一个后台暂停的进程,继续执行

二、 调度启动进程

用户设置好启动的条件,待满足条件时出发某个程序自动启动,就是调度启动进程

at 命令

作用: 用于在指定时间执行指定的命令序列,但是它只是执行一次命令序列,而不是重复执行

语法: at [选项] Time 文件名称

常用选项:

-q:使用指定的队列来储存
-m:即使程序/指令执行完成后没有输出结果,也要用邮件告知使用者
-f file:读入预先写好的命令文件脚本文件
-l:列出所有的作业
-d:删除作业
-v:列出所有已经完成但尚未删除的作业

时间格式:

  • 具体时间日期 hh:mm MM/DD/YY
23:59 03/15/2017
  • 模糊词语格式 hh:mm midnight tomorrow am…
at 17:20 tomorrow
  • 相对计时法 时间点 + 多少 + 时间单位
now + 2 minutes
5pm + 3 days

crontab 命令

对用户来说,只需要关注自己的crontab文件的撰写,不需干涉crond进程的执行。

作用: 用于在指定时间执行指定的命令序列,且重复执行具有周期性。用于直接创建或者直接修改 crontab 文件

语法: crontab [选项]

常用选项:

-e:执行文字编辑器来设定时程表,内定的文字编辑器是 vi
-r:删除目前的时程表
-l:列出目前的时程表
-u user:只有root用户可以指定他人的时间表

crontab源文件格式:

f1 f2 f3 f4 f5 program

其中,f1: 分钟(00-59),f2:小时(00-24),f3: 一个月份中的第几天(01-31),f4:月份(01-12),f5: 一个星期中的第几天(0-6),program:要执行的程序

  • 每月每天12点执行一次echo hello
0 12 * * * echo hello
  • 在12月内,每天早上6点到12点,每隔20分钟执行一次/usr/bin/backup
*/20 6-12 * 12 * /usr/bin/backup
  • 每月每天的午夜0点20分,2点20分,4点20分…显示当前时间
20 0-23/2 * * * date

猜你喜欢

转载自blog.csdn.net/starter_____/article/details/89222900