OS第1次实验报告:熟悉使用Linux命令和剖析ps命令

  • 袁祎琦
  • 201821121033
  • 计算1812

1. 实验环境介绍

  • 操作系统:unbuntu 18.04 LTS
  • 平台:双操作系统
  • 终端开始界面:用户名:yuanyiqi

 2. 常用命令使用

从上到下,依次是:

1、查看linux系统的版本号( cat /etc/issue )

2、使用dir(看不见区别)查看当前目录( dir )

3、使用ls命令(看得见文件类型区别)查看当前目录( ls )

4、cd命令进入桌面( cd )

5、pwd查看当前路径( pwd )

6、在桌面使用mkdir创建文件家OS111( mkdir OS111 )

7、cd ..回到上一路径( cd .. )注意,这边cd与两个点之间是有一个空格的。

 3. 剖析ps命令

运行 man ps ,并复制出现的内容,如下(未完整复制):

PS(1)                            User Commands                           PS(1)

NAME
       ps - report a snapshot of the current processes.

SYNOPSIS
       ps [options]

DESCRIPTION
       ps displays information about a selection of the active processes.  If
       you want a repetitive update of the selection and the displayed
       information, use top(1) instead.

       This version of ps accepts several kinds of options:

       1   UNIX options, which may be grouped and must be preceded by a dash.
       2   BSD options, which may be grouped and must not be used with a dash.
       3   GNU long options, which are preceded by two dashes.

ps有很多参数,如下图(未完整截图),

 介绍:linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。

下面我依次输入的是(比较常用):

  •  ps -a 
  •  ps -ef 
  •  ps -aux 

ps -a是列出所有运行中/激活进程

 解释: -a  的意思是列出所有进程。

  • PID:进程的ID号,如果想要结束这个进程可以使用kill命令,kill -9是无条件杀死命令。
  • TTY:进程运行所在的终端,若无终端则显示?。
  • TIME:实际使用CPU的时间(执行时间)。
  • CMD:同COMMAND,进程所执行的指令。

ps -ef是显示所有进程信息,连同命令行

解释: -e  显示所有进程,和-a的效果相同。

               -f  完整输出显示进程之间的父子关系。

所以, -ef 显示所有进程信息及其命令

  • UID:进程用户ID号,如图,用户root表示在根目录。
  • PID:进程ID号。
  • PPID:父进程ID号。
  • C:CPU使用的资源百分比。
  • STIME:系统的启动时间。
  • TTY:进程运行所在终端,若无终端则显示?。
  • TIME:实际使用CPU的时间(执行时间)。
  • CMD:进程使用的命令。

ps -aux是显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER,PID,%CPU,%MEM等

 解释:(因为从1开始的进程很多数据都一样,所以截取数据比较不一样的,从PID:891开始)

               -a   列出所有运行中/激活进程(包括其他用户的进程)。

               -u   显示进程拥有着、状态、资源占用等详细信息(注意:若单独使用u的话,有"-"和没有"-"是一样的)

               -x   显示没有控制终端的进程。通常与a一起使用,可以列出比较完整的信息。

所以, -au 显示较为详细的信息, -aux 显示所有包含其他使用者的进程。

  • USER:进程的所属用户。
  • PID:进程的ID号。
  • PPID:进程的父ID 号。
  • %CPU:进程占用的CPU百分比。
  • %MEM:进程占用的内存百分比。
  • VSZ:进程使用的虚拟内存量(KB)。
  • RSS:进程占用的固态内存量(KB)。
  • TTY:进程运行所在的终端,若无终端则显示?。
  • STAT:进程的状态位。
  • START:进程被启动的时间。
  • TIME:实际使用CPU的时间(执行时间)。
  • COMMEND:进程使用的命令。

STAT的参数意义:

  1. D  不可中断
  2. R  正在运行,或在队列中的进程
  3. S  处于休眠状态
  4. T  停止或被追踪
  5. Z  僵尸进程
  6. W  进入内存交换
  7. X  死掉的进程

<高优先级

n低优先级

s包含子进程

+位于后台的进程组

此外还有非常多ps的命令,可以在运行man ps之后选择查看所有的ps命令

比如: ps [-A][-M][-N][-Z][-l] 等等,这些参数可以组合使用达到查看进程信息的目的要求。

4.遇到的问题

既然查看了进程,那么如何对进程进行操作呢?

1、查询进程,使用 top 指令,这边是动态变化,按照占比CPU的大小排高低。

2、杀死进程

这边我就不演示了,我怕杀掉一些进程之后系统会使用异常。

我就简单介绍一下命令的区别(kill,kill-15,kill-9):

  • 执行kill(默认kill-15)命令,系统会发送一个SIGTERM信号给对应的程序,大部分程序接受到SIGTERM信号后,会释放自己的资源,然后停止。命令行输入: kill PID
  • 执行kill -15 :同kill。命令行输入: kill -15 PID
  • 执行kill -9:系统给对应程序发送的信号是SIGKILL,即exit,exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程,就是所谓的无条件杀死。命令行输入: kill -9 PID

3、强大的Vim编辑器

命令行编辑文本的必备之选。

首先,我在桌面上创建了一个txt文档,然后在桌面打开终端, ls 查看一下桌面有什么,然后输入 vim 文件名及后缀 ,如下图

然后回车,

 按i进行插入修改文本,i表示insert,在最后一行添加 Now,it's time to say goodbye! Have a good night. 

 修改完成之后,按 esc 键,并输入 :wq ,w表示write,q表示quit,即写入并退出。

posted @ 2020-03-06 01:48  DAY--BY--DAY  阅读(260)  评论(0编辑  收藏  举报