1、 查看和管理进程

1.1 进程的概念

1.2 查看进程

1.2.1查看正在运行的进程

ps 命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。

ps 命令有多种不同的使用方法,这常常给初学者带来困惑。在各种 Linux 论坛上,询问 ps 命令语法的帖子屡见不鲜,而出现这样的情况,还要归咎于 UNIX 悠久的历史和庞大的派系。在不同的 Linux 发行版上,ps 命令的语法各不相同,为此,Linux 采取了一个折中的方法,即融合各种不同的风格,兼顾那些已经习惯了其它系统上使用 ps 命令的用户。

ps 命令的基本格式如下:
[root@localhost ~]# ps aux
#查看系统中所有的进程,使用 BS 操作系统格式
[root@localhost ~]# ps -le
#查看系统中所有的进程,使用 Linux 标准命令格式
选项:

  • a:显示一个终端的所有进程,除会话引线外;
  • u:显示进程的归属用户及内存的使用情况;
  • x:显示没有控制终端的进程;
  • -l:长格式显示更加详细的信息;
  • -e:显示所有进程;

可以看到,ps 命令有些与众不同,它的部分选项不能加入”-“,比如命令”ps aux”,其中”aux”是选项,但是前面不能带“-”。

1.2.2持续监听进程运行状态

top 命令可以动态地持续监听进程地运行状态,与此同时,该命令还提供了一个交互界面,用户可以根据需要,人性化地定制自己的输出,进而更清楚地了进程的运行状态。

top 命令的基本格式如下:
[root@localhost ~]#top [选项]
选项:

  • -d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒;
  • -b:使用批处理模式输出。一般和”-n”选项合用,用于把 top 命令重定向到文件中;
  • -n 次数:指定 top 命令执行的次数。一般和”-“选项合用;
  • -p 进程PID:仅查看指定 ID 的进程;
  • -s:使 top 命令在安全模式中运行,避免在交互模式中出现错误;
  • -u 用户名:只监听某个用户的进程;

在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作:

  • ? 或 h:显示交互模式的帮助;
  • P:按照 CPU 的使用率排序,默认就是此选项;
  • M:按照内存的使用率排序;
  • N:按照 PID 排序;
  • T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序;
  • k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号;
  • r:按照 PID 给某个进程重设优先级(Nice)值;
  • q:退出 top 命令;

    1.3 结束进程

    kill 从字面来看,就是用来杀死进程的命令,但事实上,这个或多或少带有一定的误导性。从本质上讲,kill 命令只是用来向进程发送一个信号,至于这个信号是什么,是用户指定的。kill 命令的基本格式如下:
    [root@localhost ~]# kill [信号] PID
    kill 命令是按照 PID 来确定进程的,所以 kill 命令只能识别 PID,而不能识别进程名。Linux 定义了几十种不同类型的信号,读者可以使用 kill -l 命令查看所有信号及其编号,这里仅列出几个常用的信号,

killall 命令不再依靠 PID 来杀死单个进程,而是通过程序的进程名来杀死一类进程,也正是由于这一点,该命令常与 ps、pstree 等命令配合使用。

killall 命令的基本格式如下:
[root@localhost ~]# killall [选项] [信号] 进程名
注意,此命令的信号类型同 kill 命令一样,因此这里不再赘述,此命令常用的选项有如下 2 个:

  • -i:交互式,询问是否要杀死某个进程;
  • -I:忽略进程名的大小写;

    2、任务管理

    2.1 任务的概念

    任务:在单一终端接口下启动的进程,在任务管理的行为中,每个任务都是目前的shell的子进程,无法在一个shell下面管理另一个shell下面的任务。
    前台:在终端接口上,可以出现提示符让用户操作的环境
    后台:不在终端接口显示的环境

    2.2 任务管理的相关命令

    将程序放入后台,使用& : sleep 100 &
    jobs命令可以查看当前shell后台的任务
    将正在运行的任务放入后台暂停,ctrl+Z
    fg jobID 将任务放入前台执行
    bg jobID 将任务放入后台执行**

    2.3周期任务计划

    crontab [-u user] [-e-l-r] 周期执行任务
    参数: -u 指定用户,只有root能使用这个参数,帮其他用户建立、移除任务。
    -e 编辑crontab任务内容
    -l 查阅crontab任务模式
    -r 移除所有crontab的任务内容,若要移除一项内容,使用-e参数

    2.4 定时计划任务

    at

    3、服务管理

    3.1systemd

    systemctl 管理服务
    systemctl start\stop\status [服务名]

    3.2journald 查看日志

    配置文件 : /etc/systemd/journald.conf
    journalctl -u A.service 查看A服务的日志
    journalctl —system —since=today 查看当天系统服务以及内核的日志