这周我们学习了进程管理,还学习了一些i/o重定向的内容。

每个进程都有唯一的进程标识pid,一个pid只能表示一个进程,ppid为父进程id,需要给该进程分配进程。

进程一般分为三种状态:就绪状态、运行状态、阻塞状态。

就绪状态不能直接进入阻塞状态,当所有的系统资源都分配出去后因为没有多余的资源分配给接下来的进程此时便造成了堵塞,必须等正在运行的进程执行完后把系统资源释放出来然后分配完后才能继续执行下一个进程。

使用ps命令可以查看静态进程,使用ps aux命令可以查看当前目录的进程

输入后我们会看到第一行有一些字母有些不同的含义

user代表运行进程的用户;pid代表进程id;%cpu代表cpu占用率;vsz代表占用虚拟内存;rss代表占用实际内存;tty‘代表进程运行的终端;stat代表进程状态;time代表进程累计占用cpu时间;command代表进程发起者。

我们可以使用ps aux --sort -%cpu命令来查看cpu的占用百分比,此时是降序排列。

使用ps -ef命令可以查看uid、pid、ppid等信息。

我们在查找时还可以通过

ps axo命令来自定义显示的字段。

下面是三种查看指定进程的方法:

例如我要查看sshd这个进程,使用cat命令

cat /run/sshd.pid

使用pidof命令

pidof sshd

使用pgrep命令

pgrep sshd

我们可以使用top命令来动态的查看进程的状态,系统默认刷新时间为3秒。

进程信息分为上下两部分,上面为整体部分,下面为每一个进程的信息。

按CTRL+c键可以强制结束状态。

在top命令后添加-d参数可以设置刷新时间,例如设置为一秒刷新一次。

top -d 1

此外还有添加-p参数可以查看一个或多个进程的状态信息;添加-u参数可以查看指定用户的进程;添加-参数可以设置刷新次数。

使用kii命令可以用来终止指定进程的运行。

使用kill -l命令可以查看使用信号

其中1、9、15、18、19信号是我们常用的。