Linux--程序与资源管理

1. 什么是程序(process)

Linux中,触发任何一个事件时,系统都会将它定义为一个程序,并且给这个程序一个ID,称为PID,同时依据启动这个程序的使用者与相关属性关系,给予这个PID一组有效的权限设定。

执行一个程序或指令就可以触发一个事件而获得一个PID。

  • 子程序与父程序:
    用户登入系统后,会获得一个bash的shell,然后,通过这个bash提供的接口去执行另一个指令。例如执行touch命令,会触发生成PID,这个PID就是子程序,bash环境就是父程序。(命令pstree可以看到)

2. 工作管理:&,[ctrl]-z,jobs,fg,bg,kill

2.1 将指令丢到后台中执行&

在bash中,工作环境分为前景和背景。

  • 前景:可以控制的这个工作称为前景的工作
  • 背景:在内存内可以自行运作的工作,无法直接控制它,除非以 bg/fg 等指令将该工作呼叫出
    来。

2.2 将工作暂停:ctrl+z

2.3 观察目前工作状态:jobs

用法:

[root@linux ~]# jobs [-lrs]
参数:
-l :除了列出 job number 之外,同时列出 PID
-r :仅列出正在背景 run 的工作
-s :仅列出正在背景当中暂停 (stop) 的工作

2.4 将背景工作拿到前景来处理:fg

用法:

[root@linux ~]# fg %jobnumber
参数:
%jobnumber :工作的号码。注意,那个 % 是可有可无的,先通过jobs命令查看jobnumber

2.5 让工作在背景下进行:bg

用法:

[root@linux ~]# bg %jobnumber
%jobnumber :工作的号码。注意,那个 % 是可有可无的,先通过jobs命令查看jobnumber

2.6 kill:杀掉进程

[root@linux ~]# kill -signal %jobnumber
[root@linux ~]# kill -l
参数:
-l :列出目前 kill 能够使用的讯号 (signal) 有哪些
signal :-1 :重新读取一次参数的设定档 (类似 reload); -2 :代表与由键盘输入 [ctrl]-c 同样的动作; -9 :立刻强制删除一个工作; -15:以正常的程序方式终止一项工作。与 -9 是不一样的。

3.程序管理

3.1 程序查看:ps,top

-### ps
用法:

[root@linux ~]# ps aux
[root@linux ~]# ps -lA
[root@linux ~]# ps axjf
参数:
-A :所有的 process 均显示出来,与 -e 具有同样的效用;
-a :不与 terminal 有关的所有 process ;
-u :有效使用者 (effective user) 相关的 process ;
x :通常与 a 这个参数一起使用,可列出较完整信息。
输出格式规划:
l :较长、较详细的将该 PID 的的信息列出;
j :工作的格式 (jobs format)
-f :做一个更为完整的输出

top

用法:

[root@linux ~]# top [-d] | top [-bnp]
参数:
-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是 5 秒;
通常会搭配数据流重导向来将批次的结果输出成为文件。
-n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。
-p :指定某些个 PID 。

pstree

用法:

[root@linux ~]# pstree [-Aup]
参数:
-A :各程序树之间的连接以 ASCII 字符来连接;
-p :并同时列出每个 process 的 PID;
-u :并同时列出每个 process 的所属账号名称。

3.2 系统资源的查看

free

查看系统硬件剩余容量。
用法:

[root@linux ~]# free [-b|-k|-m|-g] [-t]
参数:
-b :直接输入 free 时,显示的单位是 Kbytes
-t :在输出的最终结果,显示物理内存与 swap 的总量。

uname

列出目前系统的核心版本,主要硬件等信息。
用法:

[root@linux ~]# uname [-asrmpi]
参数:
-a :所有系统相关的信息;
-s :系统核心名称
-r :核心的版本
-m :本系统的硬件名称
-p :CPU 的类型
-i :硬件的平台 (ix86)

netstat

可用于网络监控,对于程序可以查看端口情况。
用法:

[root@linux ~]# netstat -[atunlp]
参数:
-a :将目前系统上所有的联机、监听、Socket 数据都列出来
-t :列出 tcp 网络封包的数据
-u :列出 udp 网络封包的数据
-n :不以程序的服务名称,以端口号 (port number) 来显示;
-l :列出目前正在网络监听 (listen) 的服务;
-p :列出该网络服务的程序 PID

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值