首页 > 代码库 > 【Linux】鸟哥的Linux私房菜基础学习篇整理(十一)

【Linux】鸟哥的Linux私房菜基础学习篇整理(十一)

1. 直接将命令丢到后台中执行“&”,在命令最后加“&”。
    将目前的工作丢到后台中暂停:[Ctrl]+z

2. jobs [-lrs]:查看目前的后台工作状态。
参数:
-l:除了列出job number与命令串外,同时列出PID号码;
-r:列出正在后台run的工作;
-s:列出正在后台stop的工作。

3. fg %jobnumber:把后台的工作拿到前台执行。
参数:
无参数:默认去除含+的工作;
%jobnumber:jobnumber是工作号码,%可省略。

4. bg %jobnumber:让工作在后台的状态变为运行中。

5. kill -signal %jobnumber/kill -l:管理后台中的工作。
参数:
-l:列出目前kill能够使用的signal信号由哪些;
-signal:代表给予后面接的工作什么样的指示,常见代码如下:
  -1:重新读取一次配置文件;
  -2:代表与由键盘输入[Ctrl]+C同样的操作;
  -9:立刻强制删除一个工作;
  -15:以正常的方式种植一项工作(默认值)。

6. nohup [命令与参数]:脱机后在终端机前台工作
    nohup [命令与参数] &:脱机后在终端机后台工作。

7. ps aux:查看系统所有的进程数据
    ps -lA:查看所有的系统数据
    ps axjf:连同部分进程树状态。
参数:
-A:所有的进程均显示出来,与-e具有同样的作用;
-a:不与terminal有关的所有进程;
-u:有效用户相关的进程;
x:通常与a这个参数一起使用,可列出较完整信息;
输出格式规划:
l:较长、较详细地列出PID的信息;
j:工作格式;
-f:做一个更为完成的输出。

8. ps -l显示项目的标志说明:
F:代表这个进程标志,说明进程的权限,常见的号码有:
  4:代表该进程的权限为root;
  1:代表子进程可进行fork而无法实际exec。
S:代表这个进程的状态,主要的状态有:
  R(Running):该进程正在进行中;
  S(Sleep):该进程正在睡眠状态,但可以被唤醒;
  D:不可被唤醒的睡眠状态,通常这个进程可能在等待I/O;
  T:停止状态,可能是在工作控制(后台暂停)或除错状态;
  Z(Zombie):“僵尸”状态,进程已经终止但无法从内存中删除。
UID/PID/PPID:该表该进程被该UID所拥有/进程的PID号码/父进程的PID号码;
C:代表CPU使用率,单位为百分比;
PRI/NI:Prioity/Nice,代表该进程被CPU执行的优先级,数值越小代表该进程越快被CPU执行;
ADDR/SZ/WCHAN:都与内存有关,ADDR是kernel function,指出该进程在内存的哪个部分,如果是running进程,一般会显示"-"。SZ代表此进程用掉多少内存。WCHAN表示目前进程是否运行中,若为-则表示正在运行中;
TTY:登陆者的终端机位置,若为远程登录则使用动态终端接口(pts/n);
TIME:使用掉的CPU时间,是此进程实际花费CPU运行的时间;
CMD:说明造成该程序触发的进程命令。

9. ps aux显示项目的标志说明。
USER:该进程属于哪个用户账号;
PID:进程的进程标识符;
%CPU:该进程用掉的CPU资源百分比;
%MEM:该进程所占用的物理内存百分比;
VSZ:该进程使用掉的虚拟内存(KB);
RSS:该进程占用的固定的内存量(KB);
TTY:该进程是在哪个终端机上面运行;
STAT:该进程目前的状态;
START:该进程被触发的启动时间;
TIME:该进程实际使用CPU运行的时间;
COMMAND:该进程的实际命令。

10. top [-d 数字] | top [-bnp]:动态查看进程的变化。
参数:
-d:后面可以接秒数,就是整个进程界面更新的秒数,默认是5秒;
-b:以批次的方式执行top,通常会搭配数据流重定向来将批处理的结果输出为文件;
-n:与-b搭配,需要进行几次top的输出结果;
-p:指定某些个PID来进行查看检测。
在top执行过程当中可以使用的按键命令:
  ?:显示在top当中可以输入的按键命令;
  P:以CPU的使用资源排序显示;
  M:以内存的使用资源排序显示;
  N:以PID来排序;
  T:由进程使用的CPU时间累计(TIME+)排序;
  k:给予某个PID一个信号;
  r:给予某个PID重新制定一个nice值;
  q:离开top。

11. pstree [-A|-U] [-up]:列出进程树。
参数:
-A:各进程树之间的连接以ASCII字符来连接;
-U:各进程树之间的连接以UTF8字符来连接,在某些终端接口下可能会有错误;
-p:同时列出每个进程的PID;
-u:同时列出每个进程的所属账号名称。

12. killall [-iIe] [command name]:直接通过进程名称给予信号。
参数:
-i:interactive,交互式模式,若需要删除,会出现提示符给用户;
-e:exact,表示后面接的命令名称要一致,但整个完整的命令名称不能超过15个字符;
-I:命令名称忽略大小写。

13. nice [-n 数字] command:给予新命令新的nice值。
参数:
-n:后面接一个数字,数值的范围为-20~19。

14. renice [number] PID:重新设置已存在的进程的nice值。

15. free [-b|-k|-m|-g] [-t]:查看内存使用状况。
参数:
-b|-k|-m|-g:以B、KB、MB、GB显示内存;
-t:在输出的最终结果中显示物理内存与swap的总量。

16. uname [-asrmpi]:查看系统与内核相关信息。
参数:
-a:所有系统相关的信息,包括如下的参数;
-s:系统内核名称;
-r:内核的版本;
-m:本系统的硬件名称;
-p:CPU的类型;
-i:硬件平台。

17. uptime:查看系统启动时间与工作负载。

18. netstat [-atunlp]:跟踪网络。
参数:
-a:将目前系统上所有的连接、监听、socket数据都列出来;
-t:列出tcp网络数据包的数据;
-u:列出udp网络数据包的数据;
-n:不列出进程的服务名称,以端口号来显示;
-l:列出目前正在网络监听的服务;
-p:列出该网络服务的进程PID。

19. vmstat [a] [延迟 [总计检测次数]]:CPU内存等资源变化
      vmstat [-fs] [-S 单位] [-d] [-p 分区]:检测系统资源变化。
参数:
-a:使用inactive/active(活跃与否)替代buffer/cache的内存输出信息;
-f:列出到目前为止系统fork的进程数;
-s:将一些事件(开机至目前为止)导致的内存变化情况列表说明;
-S:后面可以接单位,如M、K等;
-d:列出磁盘的读写总量统计表;
-p:后面列出分区,可显示该分区的读写总量统计表。

20. fuser [-umv] [-k [i] [-signal] file/dir:通过文件找出正在使用该文件的程序。
参数:
-u:除了进程的PID之外,同时列出进程的所有者;
-m:后面接的那个文件名会主动上提到文件系统的顶层;
-v:可以列出每个文件与程序还有命令的完整相关性;
-k:找出使用该文件/目录的PID,并试图以SIGKILL这个信号给予这个PID;
-i:必须与-k配合,删除PID之前先询问用户;
-signal:指定给予的信号类型。

21. lsof [-aUu] [+d]:列出被进程所打开的文件名。
参数:
无参数:列出系统上所有已经被打开的文件或设备;
-a:多项数据需要“同时成立”才显示结果;
-U:仅列出Unix like系统的socket文件类型;
-u:后面接username,列出该用户相关进程所打开的文件;
+d:后面接目录,及找出某个目录下面已经打开的文件。

22. pidof [-sx] program_name:找出某个正在执行的进程的PID。
参数:
-s:仅列出一个PID而不是所有的PID;
-x:同时列出该program_name可能的PPID那个进程的PID。