首页 > 代码库 > 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 程序管理命令篇