进程和计划任务管理

155 阅读5分钟
  • 程序:没有运行的代码就是程序
  • 进程:运行的代码就是进程
  • 线程:程序的副本,复制了进程的部分代码

HTTP---进程---线程

父进程与子进程:

  • systemd=父进程先启动------->子进程 父进程给子进程分配资源
  • 结束运行:子进程先结束---->父进程要收回分配给子进程的资源,父进程才会终止
  • 父进程先结束----->子进程还在----->子进程变成僵尸进程

查看进程

ps命令——静态查看进程

命令格式

ps [选项]...

  • a:显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将示系统中所有的进程信息。

  • u:使用以用户为主的格式输出进程信息。

  • x:显示当前用户在所有终端下的进程信息。

  • -e:显示系统内的所有进程信息。

  • -l:使用长(Long)格式显示进程信息。

  • -f:使用完整的(Full)格式显示进程信

ps -elf

[root@localhost ~]# ps -elf
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root          1      0  0  80   0 - 48437 ep_pol 13:36 ?        00:00:01 /usr/
1 S root          2      0  0  80   0 -     0 kthrea 13:36 ?        00:00:00 [kthr
1 S root          3      2  0  80   0 -     0 smpboo 13:36 ?        00:00:00 [ksof
1 S root          5      2  0  60 -20 -     0 worker 13:36 ?        00:00:00 [kwor
1 S root          7      2  0 -40   - -     0 smpboo 13:36 ?        00:00:00 [migr
1 S root          8      2  0  80   0 -     0 rcu_gp 13:36 ?        00:00:00 [rcu_
1 S root          9      2  0  80   0 -     0 rcu_gp 13:36 ?        00:00:00 [rcu_
5 S root         10      2  0 -40   - -     0 smpboo 13:36 ?        00:00:00 [watc
5 S root         11      2  0 -40   - -     0 smpboo 13:36 ?        00:00:00 [watc

image.png F ----进程标志,说明进程的权限,常见的标志有两个: 1:进程可以被复制,但是不能被执行; 4:进程使用超级用户权限; S ----进程状态。s:休眠状态的进程 R:正在运行的进程 D:不可选中的休眠状态 Z:僵尸进程 T:停止状态

UID ----运行此进程的用户的 ID;

PID ----进程的 ID;

PPID ----父进程的 ID;

C ----该进程的 CPU 使用率,单位是百分比;

PRI ----进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行;系统定义不可以人为修改

NI ----进程的优先级,数值越小,该进程越早被执行;可以人为修改

ADDR ----该进程在内存的哪个位置;

SZ ----该进程占用多大内存;

WCHAN ----该进程是否运行。"-"代表正在运行;

TTY ----该进程由哪个终端产生;

TIME ----该进程占用 CPU 的运算时间,注意不是系统时间

CMD ----产生此进程的命令名;

ps -aux

[root@localhost ~]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.2 193748  6860 ?        Ss   13:36   0:01 /usr/lib/systemd/systemd --switched-
root          2  0.0  0.0      0     0 ?        S    13:36   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    13:36   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   13:36   0:00 [kworker/0:0H]
root          7  0.0  0.0      0     0 ?        S    13:36   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    13:36   0:00 [rcu_bh]

image.png USER ----该进程是由哪个用户产生的。

PID ----进程的 ID。

%CPU ----该进程占用 CPU 资源的百分比,占用的百分比越高,进程越耗费资源。

%MEM ----该进程占用物理内存的百分比,占用的百分比越高,进程越耗费资源。

VSZ ----该进程占用虚拟内存的大小,单位为 KB。

RSS ----该进程占用实际物理内存的大小

TTY ----该进程是在哪个终端运行的。

STAT ----进程状态。常见的状态有以下几种: -S:该进程处于睡眠状态,可被唤醒。 -s:包含子进程。 -l:多线程(小写 L)。

START ----该进程的启动时间。

TIME ----该进程占用 CPU 的运算时间,注意不是系统时间。

COMMAND ----产生此进程的命令名。

pstree命令——以树形结构列出进程信息

命令格式:

pstree  [选项] [ PID | USER ]

  • -p:显示PID。
  • -u:显示进程的用户名称。

top命令——动态查看进程

  • -p 进程PID:仅查看指定 ID 的进程。
  • -H 查看所有进程

pgrep命令——查询进程的PID

  • -a:显示进程名和PID
  • -c:仅显示匹配进程数量
  • -f:匹配进程名及参数
  • -l:显示进程名
  • -n:仅显示最新的匹配进程
  • -u:仅显示匹配进程的所有者

job命令————列出后台作业的状态信息

  • -l:显示所有作业的PID
  • -p:显示所有专业进程组ID
  • -n:仅显示最近的作业
  • -r:仅显示正在运行的作业
  • -s:仅显示已停止的作业

kill命令——————结束进程

kill 命令执行原理:kill 命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的 PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作。

命令格式:

kill [信号] PID

kill -9 PID ---强制杀死进程

进程的前后台调度

命令介绍:

&           //在命令行尾加入“&”符号,把命令放到后台执行。  


Ctrl+Z 组合键   //将当前进程挂起,即调入后台并停止执行。  


jobs     //查看处于后台的任务列表。

[root@localhost ~]# jobs
[1]+  已停止               vim ky29
[root@localhost ~]# sleep 700 &
[2] 3726
[root@localhost ~]# vim 111

[3]+  已停止               vim 111
[root@localhost ~]# jobs
[1]-  已停止               vim ky29
[2]   运行中               sleep 700 &
[3]+  已停止               vim 111

计划任务管理

crontab周期性任务设置

crontab -e:编辑计划任务。

crontab -l:查看计划任务。

时间格式:分、时、日、月、周几。

*表示任意。

,表示多个不连续的时间点。

-表示连续的时间范围。

/表示频率。