首页 > 代码库 > LInux 程序管理命令篇

LInux 程序管理命令篇

  • 工作管理

&   放在命令最后,可以把该命令加入后台执行

[Ctrl]-Z  将目前的工作丢到后台中 “暂停”

jobs  查看目前后台的工作状况

jobs 【参数】

参数:

-l  : 除了列出 jobs number 与命令串之外,同时列出 PID 的号码

-r  : 仅列出正在后台 run 的工作

-s  : 仅列出正在后台当中暂停的工作

 

fg  后台工作拿到前台来处理

例  : fg %number

 

bg  让后台的工作变成运行

例  : bg %number

 

kill  管理后台当中的工作

参数

-l  :小写的L,列出目前kill能使用的信号有哪些

signal  :代表给后面的工作哪些指示

  -1  :重新读取一次参数的配置文件

  -2  :和键盘 [Ctrl]-c  同样的操作

  -9  :立刻强制删除一个工作

  -15 :以正常的程序方式终止一项工作

例1  :kill -9 23134        #结束 PID 号为 23134的进程

例2  :kill -9 %2            #这里的  %2  是 jobs 中number 号为 2 的 工作

脱机管理

nohup  脱机工作-------类似 screen 的程序

nohup 【命令或执行文件】     ==》在 前台工作

nohup 【命令或执行文件】 &  ==》在 后台工作

 

  • 进程管理

ps  将某个时间点的进程运行情况选取下来

ps 【参数】

参数 :

-A  :所有进程均显示出来,与 -e 具有相同的作用;

-a  :不与 terminal 有关的所有进程;

-u :有效用户相关的进程;

X   :列出 较 完整的信息,一般和 a 参数一起使用;

输出格式规划:

l   :较长,较详细的将该 PID 的信息列出;

j   :工作的格式;

-f  :做一个更为完整的输出;

通常的  连用命令 

ps -l  只查看自己 bash 相关进程

ps  aux  查看系统左右进程

ps axjf    连同部分进程树状态

 

pstree  将某个时间点的进程运行情况选取下来 以 进程树来表示

pstree 【-A|U】 【-up】

参数 :

-A  :进程树链接以 ASCII 字符来链接;

-U  :进程树链接以 UTF-8 码来表示

-p  :同时列出每个进程的 PID 

-u  :同时列出每个进程的所属账号名称

 

top   动态查看进程的变化

top 【-d 数字】 | top 【-bnp】

参数 :

-d  :后面接 秒 数

-b  :以批次的方式执行top,通常搭配数据流重定向使用

-n  :与 -b 搭配,意义是,需要进行几次top 的输出结果

-p  :指定某些个 PID 来进行监测

在 top 执行界面下可以使用的按键命令:

  ? :显示可以输入的按键命令

  P  :以 CPU 的使用资源排序显示(默认)

  M :以内存的使用资源排序显示;

  N :以 PID 来排序

  T :由该进程使用的 CPU时间累计排序

  K  :给予某个 PID 一个信号(signal)

  r  :给予某个 PID 重新制定一个 nice 值

  q  :离开 top

 

  • 进程的执行顺序

由 ps -l 或其他命令可以查看进程的  PRI 值,该值越小越优先执行
PRI + nice = 值   值越小越 有限执行

nice  执行的命令给予新的值

nice 【-n 数值】 command

参数:

-n  :后面接一个数值,值得范围  -20 ~ 19

root用户可以给 负值,  普通用户只可以给 正值

 

renice  已存在进程的nice 重新调整

renice 【number】 PID

 

  • 系统资源的查看

free  查看内存使用情况

free 【-b|-K|-m|-g】 【-t】

参数:

-b  :单位。以bytes显示,k --kb ,m---MB , g---GB

-t  :在输出的最终结果中显示物理内存与 swap 的总量

 

uname  查看系统与内核相关信息

uname 【-asrmpi】

参数 :

-a  :所有系统相关的信息

-s  :系统内核名称

-r  :内核的版本

-m :系统硬件名称

-p  :CPU 的类型

-i  :硬件的平台

 

uptime  查看系统启动时间与工作负载

直接  uptime

 

netstat  跟踪网络

netstat -【atunlp】

参数 :

-a  :将目前系统上所有的链接,监听,socket 数据都列出来

-t  :列出 tcp  网络数据包的数据

-u  :列出 upd 网络数据包的数据

-n  :不列出进程的服务名称,以端口号来显示

-l  :列出目前正在网络监听的服务

-p :列出该网络服务的进程 PID

netstat -tlnp  找出目前在监听的网络链接和 IP

 

dmesg  分析内核信息

 

vmstat  检测系统资源变化

vmstat  【-a】 【延迟【总检测次数】】  内存/CPU等信息

vmstat  【-fs】             内存相关

vmstat  【-S 单位】            设置显示数据的单位

vmstat  【-d】               磁盘相关

vmstat  【-p 分区】            磁盘相关

参数 :

-a  :内存输出信息

-f  :开机到目前为止系统复制【fork】 的进程数

-s  :将一些时间(开机到目前为止) 导致的内存变化说明

-S  :后接单位,让显示的数据有单位,  如 K/M/G

-d  :列出磁盘的读写总量

-p  :后面列出分区,可现实该分区的读写总量统计表

例 : vmstat 1 3 统计CUP信息 ,每秒一次,共计三次

 

  • 查询已打开文件或已执行程序打开的文件

fuser  通过文件(或文件系统)找出正在使用该文件的程序

fuser 【-umv】 【-k 【 i 】 【-signal】】 file/dir

参数:

-u  :除了进程的 PID 之外,同时列出该进程的所有者

-m :后面接的那个文件名会主动上提到该文件系统的所顶层,对 umount 不成功有效

-v  :列出每个文件与程序还有命令的完整性

-K  :找出使用该文件/目录的 PID ,并试图以 SIGKILL 这个信号给予该 PID

-i  :必须与 -k 配合,在删除 PID 之前会询问用户意愿

-signal :例如 -1 -15 不加是默认 (-9)

例 : fuser -uv  。 找出目前目录的使用 PID/所属账号/权限

 

lsof  列出被进程所打开的文件名

lsof 【-aUu】 【+d】

参数 :

-a  :多项数据需要“同行成立”才显示出结果

-U  :仅列出 Unix like 系统的 socket 文件类型

-u  :后面接 username,列出该用户相关进程所打开的文件

+d :后面接目录,即找出某个目录下面已经被打开的文件

例 :lsof -u root -a -U     仅列出关于root 的所有进程打开的 socket 文件

例 :lsof +d /dev    列出系统上面所有的被启动的周边设备

 

pidof  找出某个正在执行的进程的 PID

pidog 【-sx] program_name

参数 :

-s :仅列出一个 PID 而不列出所有 PID

-x  :同时列出该 program_name 可能的 PPID 的那个进程 PID

 

LInux 程序管理命令篇