一俢哥的 Liunx 学习笔记

【一俢哥的 Liunx 学习笔记】调兵遣将

2019-07-24  本文已影响0人  一俢

Liunx 系统的运行,需要大量的程序参与,如果没有程序的系统,那整个系统就成了一个寂静的兵马俑,一个一个没有生机的士兵存放的地方,如果要让整个军队运作起来,需要骑兵、步兵、弓弩手等等协作完成各种任务,调动起他们的积极性,才能让整个军队充满生机。Liunx 系统也一样,这些二进制的执行会行程一个一个的程序,程序会让系统的磁盘、内容、CPU 运作起来,这样系统也会起到自己应有的作用。

本篇文章你会学习到:

Job 管理

在 Linux 下,可以简单的把 Job 理解为,一个或多个命令及其运行的任务。也就是说,之前所所的 cp mv tar,等在 bash 环境中运行的命令就是 Job,那么我们控制这些任务的运行状况,就是 Job 管理。要进行 bash 的 Job 管理必须要注意到的限制是:

Job 管理相关命令

当运行一个命令时,我们可以通过 [ctrl]+z 将它放入到背景中暂停起来,接下来我们可以通过 jobs 看到所有的 Job 工作状态:

jay-liunx% jobs -l
[1]  - 12773 suspended  vim hell.txt
[2]  + 12829 suspended  find / -print

通过 fg 命令可以将背景任务重新唤起:

jay-liunx% fg %2
// 省略...

通过 & 直接在背景中运行:

jay-liunx% tar -zpcf /tmp/etc.tar.gz /etc &

通过 kill 命令,来管理背景中的 Jobs:

jay-liunx% kill -9 %2

通过 nohup 命令,可以让任务离线执行,即使是注销了,任务也能执行完。

jay-liunx% nohup ./task.sh &

程序管理

Liunx 下的程序包括 Liunx 所有的命令、服务以及应用程序,他们运行后都会有一个 PID。管理程序,就是查看、修改、停止这些正在运行的程序。

通过 ps 可以查看运行的程序:

jay-liunx% ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000 13174 13173  0  80   0 -  3094 -      pts/0    00:00:00 zsh
0 R  1000 13407 13174  0  80   0 -  3955 -      pts/0    00:00:00 ps
jay-liunx% ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2 122096  9360 ?        Ss   7月14   0:08 /sbin/init
root         2  0.0  0.0      0     0 ?        S    7月14   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   7月14   0:00 [rcu_gp]
root         4  0.0  0.0      0     0 ?        I<   7月14   0:00 [rcu_par_gp]
root         6  0.0  0.0      0     0 ?        I<   7月14   0:00 [kworker/0:0H-kblockd]
root         8  0.0  0.0      0     0 ?        I<   7月14   0:00 [mm_percpu_wq]
root         9  0.0  0.0      0     0 ?        S    7月14   0:18 [ksoftirqd/0]

通过 top 可以查看实时程序的变化:

我们一个一个看每个参数代表的含义:

jay-liunx% top
top - 19:11:27 up 9 days, 18:26,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 242 total,   1 running, 241 sleeping,   0 stopped,   0 zombie
%Cpu0  :  1.0 us,  1.0 sy,  0.0 ni, 98.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3932772 total,  1228504 free,   747788 used,  1956480 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  2741112 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR    %CPU  %MEM     TIME+ COMMAND
13490 jay       20       16640   4064   3204 R   1.0   0.1   0:00.72 top
13469 root      20                           I   0.7         0:00.42 [kworker/u8:2-events_power_efficient]
 8949 jay       20      630440 122824  76112 S   0.3   3.1  10:24.50 /opt/google/chrome/chrome
 8986 jay       20      404064  69612  40268 S   0.3   1.8  22:47.71 /opt/google/chrome/chrome

通过 nicerenice 设置程序执行优先级

nice 的范围是 -20 到 19,我们可以通过设置 nice 来改变程序的 Priority:

jay-liunx% ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000 14875 14874  1  80   0 -  3095 -      pts/0    00:00:00 zsh
0 R  1000 14880 14875  0  80   0 -  3955 -      pts/0    00:00:00 ps
jay-liunx% nice -n 5 zs
jay-liunx% ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000 14875 14874  0  80   0 -  3095 -      pts/0    00:00:00 zsh
0 S  1000 14888 14875  0  85   5 -  3103 -      pts/0    00:00:00 zsh
0 R  1000 14889 14888  0  85   5 -  3955 -      pts/0    00:00:00 ps

系统资源

出了前面的系统 Job、程序外,还有一些系统资源我们要查看,例如:内存、网络、开机状况等等:

这部分比较简单,自己尝试并查阅资料就可以搞懂里面的内容了。

SELiunx

SELinux 是 “Security Enhanced Linux” 的缩写,是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。这里不详细说这个,平时去修改相关内容也比较少。

〖坚持的一俢〗

上一篇 下一篇

猜你喜欢

热点阅读