进程的管理命令
概述
在Linux中实现进程管理,首先需要一些命令查看进程,cup,内存等运行状态ps,top,free 查看后台 jobs 结束进程 kill 计划任务at crontab周期
ps命令
ps(process state )可以查看进程当前状态的快照,默认显示当前终端中的进程,Linux系统各进程的相关信息均保存在 /proc/数字 目录/status 下的文件中
常用选项
top命令
ps 命令可以一次性给出当前系统中进程状态,但使用此方式得到的信息缺乏时效性.为此,Linux 提供了 top 命令
top常用选项
在top 命令显示窗口中 还可以使用按键进行交互操作
top - 23:01:37 up 11:55, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 167 total, 1 running, 166 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 s
KiB Mem : 1867048 total, 897540 free, 334764 used, 634744 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1289740 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10768 root 20 0 157716 2240 1548 R 0.3 0.1 0:00.11 top
1 root 20 0 193700 6892 4072 S 0.0 0.4 0:09.13 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.39 ksoftirq+
kill命令
kill本质是发送信号。kill 命令是按照 PID 来确定进程的,所以 kill 命令只能识别 PID,而不能识别进程名。Linux 定义了几十种不同类型的信号,可以使用 kill -l 命令查看所有信号及其编号
| 信号编号 | 信号名 | 含义 |
|---|---|---|
| 0 | EXIT | 程序退出时收到该信息。 |
| 1 | HUP | 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。 |
| 2 | INT | 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。 |
| 3 | QUIT | 退出。 |
| 9 | KILL | 杀死进程,即强制结束进程。 |
| 11 | SEGV | 段错误。 |
| 15 | TERM | 正常结束进程,是 kill 命令的默认信号。 |
查看后台任务列表 jobs
调出后台任务 fg
命令 & 把命令放入后台执行
计划任务
crontab命令
系统的定时任务一般是需要重复执行的。这就需要使用crontab 命令来执行循环定时任务。
| 选项 | 功能 |
|---|---|
| -u user | 用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo 用户的 crontab 服务,此选项一般有 root 用户来运行。 |
| -e | 编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。 |
| -l | 显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。 |
| -r | 从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。 |
| -i | 在删除用户的 crontab 文件时,给确认提示。 |