- 浏览: 670413 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yigeisme:
你好,不已.html和.jsp和.jpg结尾的正则表达式怎么写 ...
深入入门正则表达式(java) - 2 - 基本实例 -
su1216:
多谢指正yigeisme 写道1-12(小时,月份)正则:^( ...
深入入门正则表达式(java) - 2 - 基本实例 -
yigeisme:
1-12(小时,月份)正则:^(1[012]|\d)$应该改成 ...
深入入门正则表达式(java) - 2 - 基本实例 -
heikefangxianceshi:
小三将军 写道楼主,我想问下你给的Real.tar.gz是什么 ...
android手机root后的安全问题 (一) -
heikefangxianceshi:
这个程序运行的前提是手机root,但你的手机怎么root的呢? ...
android手机root后的安全问题 (一)
学习笔记,内容基础,适合初学者。
阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)
《Unix & Linux 大学教程》 - 第一、二章 学习笔记 Unix简介 & 什么是Linux?什么是Unix
《Unix & Linux 大学教程》 - 第三、四章 学习笔记 Unix连接 & 开始使用Unix
《Unix & Linux 大学教程》 - 第五、六章 学习笔记 GUI:图形用户界面 & Unix工作环境
《Unix & Linux 大学教程》 - 第七、八章 学习笔记 Unix键盘使用 & 能够立即使用的程序
《Unix & Linux 大学教程》 - 第九、十章 学习笔记 文档资料:Unix手册与Info & 命令语法
《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记 shell & 使用shell:变量和选项
《Unix & Linux 大学教程》 - 第十三章 学习笔记 使用shell:命令和定制
《Unix & Linux 大学教程》 - 第十四、十五章 学习笔记 使用shell:初始化文件
《Unix & Linux 大学教程》 - 第二十一章 学习笔记 显示文件
《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记 vi文本编辑器(一)
《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记 vi文本编辑器 (二)
《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记 vi文本编辑器 (三)
《Unix & Linux 大学教程》 - 第二十四章 学习笔记 目录操作
《Unix & Linux 大学教程》 - 第二十五章 学习笔记 文件操作
《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记 进程和作业控制
《Unix & Linux 大学教程》 - 第二十六章(二) 学习笔记 进程和作业控制
《Unix & Linux 大学教程》 - 附录F 时区与24小时制时间
第二十六章(二):进程和作业控制
ps
选项分为三组:UNIX选项、BSD选项和仅适用与GNU的选项
UNIX选项通常以连字符(-)开头,BSD选项前没有连字符
如果是混合系统,必须适用BSD选项才能进行BSD输出
语法:
UNIX选项基本语法
ps [-aefFly ] [-p pid ] [-u userid ]
BSD选项基本语法
ps [ajluvx ] [-p pid ] [-u userid ]
UNIX选项信息
显示哪些进程? | ||||||||||
|
||||||||||
显示哪些数据列 | ||||||||||
|
||||||||||
有用的特殊组合 | ||||||||||
|
UNIX列标题含义
UNIX标题 | 含义 |
ADDR | 进程表中的虚拟地址 |
C | 处理器利用率(废弃率) |
CMD | 正被执行的命令的名称 |
F | 与进程相关的标志 |
NI | nice值,用于设置优先级 |
PID | 进程ID |
PPID | 父进程的进程ID |
PRI | 优先级(数字越大优先级越低) |
RSS | 内存驻留空间大小(内存管理) |
S | 状态代码(D、R、S、T、Z) |
STIME | 累积系统时间 |
SZ | 物理页的大小(内存管理) |
TIME | 累积CPU时间 |
TTY | 控制终端的完整名称 |
UID | 用户标识 |
WCHAN | 等待通道 |
*******************************************************
BSD选项信息
显示哪些进程? | ||||||||||
|
||||||||||
显示哪些数据列 | ||||||||||
|
||||||||||
有用的特殊组合 | ||||||||||
|
BSD标题 | 含义 |
%CPU | CPU使用百分比 |
%MEM | 真实内存使用百分比 |
CMD | 正被执行的命令的名称 |
COMMAND | 正被执行的命令的完整名称 |
CPU | 短期CPU使用(调度) |
JOBC | 作业控制统计 |
LIM | 内存使用限额 |
NI | nice值,用于设置优先级 |
PAGEIN | 总的缺页错误(内存管理) |
PGID | 进程组号 |
PID | 进程ID |
PPID | 父进程的进程ID |
PRI | 调度优先级 |
RE | 内存驻留时间(单位为秒) |
RSS | 内存驻留空间大小(内存管理) |
SESS | 会话指针 |
SL | 睡眠时间(单位为秒) |
STARTED | 定时启动 |
STAT | 状态代码(O、R、S、T、Z) |
TIME | 累积CPU时间 |
TSIZ | 文本大小(单位为KB) |
TT | 控制终端的缩写名称 |
TTY | 控制终端的完整名称 |
UID | 用户标识 |
USER | 用户名 |
VSZ | 虚拟内存(单位KB) |
WCHAN | 等待通道 |
(p719,把VSZ解释为虚拟大小,应该是笔误吧)
状态代码含义
Linux、FreeBSD | ||||||||||||
|
Solaris | ||||||||||
|
----------------------------------------------------------------------------------------------------------------------------------
监视系统进程:top、prstat
top(大多数Linux和BSD系统可以使用)
语法:
top [-d delay ] [-n count ] [-p pid [,pid ]...]
delay 是刷新时间间隔(单位为秒)
count 是刷新的总时间量
pid 是进程ID
注意:系统之间,选项可能有所不同,建议先查看man手册
比如我的手机上面是这个样子的:
$ top -h
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]
-m num Maximum number of processes to display.
-n num Updates to show before exiting.
-d num Seconds to wait between updates.
-s col Column to sort by (cpu,vss,rss,thr).
-t Show threads instead of processes.
-h Display this help screen.
h :帮助
q或^C :退出
<Space> :强制top立即刷新显示(该命令通常不被记录)
(我这里就没有记录 - Help for Interactive Commands - procps version 3.2.8)
(我的手机上不支持这个命令,当然,也不支持h,q。HTC android4.0)
显示进程树:pstree(有的系统使用 ptree作为替代 , Solaris上用 prstat )
语法:
pstree [-aAcGnpu ] [pid | userid ]
-c(do not compact) :不要压缩
-A :强制使用ASCII字符
-G :使用行绘制字符
-p:显示每个进程的PID
-n:按PID对进程排序(默认是按进程名排序)
-a(all,全部):显示全部信息
-u(userid change,用户标识改变):选项标识当子进程以不同于父进程的用户标识运行时所发生的改变
下面是在我手机上面执行pstree后的输出,截取了一段
shell@android:/ # busybox pstree
busybox pstree
init-+-DxDrmServerIpc-+-2*[{Binder Thread }]
| `-5*[{DxDrmServerIpc}]
|-adbd-+-sh---sh---busybox
| `-4*[{adbd}]
|-dbus-daemon
|-debuggerd
|-drmserver---3*[{Binder Thread }]
|-hdmid-+-{Binder Thread }
| `-{HDMIDaemon}
|-htc_ebdlogd---logcat2
其中2*表示两个完全相同的进程
fuser
作用:将文件与进程联系起来
下面是一个书中的例子,会打印出PID和作业号
find / -name foo -print > bar 2>/dev/null &
[3] 3456
fuser bar
bar: 3456
fuser显示出哪个进程正在使用bar文件
注意:如果不是系统用户,fuser可能不会位于你的搜索目录,可以使用whereis来找到fuser的位置
kill
语法:
kill [- signal ] pid ... | jobid ...
pid或 jobid 用来标识进程
如果不指定signal,默认发送TERM
注意:kill可以与fg和bg相同的方式指定作业号
信号列表
编号 | 名称 | 缩写 | 描述 |
1 | SIGHUP | HUP | 中止:注销或者终端失去连接时发送给进程 |
2 | SIGINT | INT | 中断:当按下^C键时发送 |
9 | SIGKILL | KILL | 杀死:立即终止,进程不能捕获 |
15 | SIGTERM | TERM | 终止:请求终止,进程不能捕获 |
18 | SIGCONT | CONT | 继续:恢复挂起的进程,由fg或bg发送 |
19 | SIGSTOP | STOP | 停止(挂起):当^Z键时发送 |
当使用kill向进程发送信号时,可以使用信号的编号、名称或者缩写
注意:各个系统之间信号的编号可能有所不同,所以最好使用名称或缩写,这些是标准化的
kill -l:查看系统支持的全部信号列表
下面是我手机上面支持的信号
kill -l
1 HUP Hangup 17 CHLD Child exited
2 INT Interrupt 18 CONT Continue
3 QUIT Quit 19 STOP Stopped (signal)
4 ILL Illegal instruction 20 TSTP Stopped
5 TRAP Trap 21 TTIN Stopped (tty input)
6 ABRT Aborted 22 TTOU Stopper (tty output)
7 BUS Bus error 23 URG Urgent I/O condition
8 FPE Floating point exception 24 XCPU CPU time limit exceeded
9 KILL Killed 25 XFSZ File size limit exceeded
10 USR1 User signal 1 26 VTALRM Virtual timer expired
11 SEGV Segmentation fault 27 PROF Profiling timer expired
12 USR2 User signal 2 28 WINCH Window size changed
13 PIPE Broken pipe 29 IO I/O possible
14 ALRM Alarm clock 30 PWR Power failure
15 TERM Terminated 31 SYS Bad system call
16 STKFLT Stack fault
如果不支持此选项,可以搜索signal.h这个文件
通常,HUP、INT、KILL和TERM的信号编号在所有系统上面都是相同的
当一个前台程序失去响应,按^C也无法停止,那么可以:
1尝试^Z挂起程序,如果成功,使用ps或者jobs找到进程,然后kill
2打开新终端,ps -u或者ps U列举你的用户标识运行的进程,然后kill
3如果使用的是远程Unix,可以尝试断开与主机的连接。(在一些系统上,断开与主机的连接时,内核会自动杀死你所有的进程)
设置进程优先级
nice
语法:
nice [-n adjustment ] command
adjustment 是一个数值
command 是希望运行的命令
大多数系统上, adjustment 的范围是0-19,超级用户可以设置的范围为-20-19,数字越大,优先级越低
adjustment 默认=10
当以普通方式运行程序时(不使用nice),nice值为0
注意:nice只能应用于自己独立存在的程序
可以对外部命令和shell脚本应用nice,但是shell内部命令、管道线或复合命令不能降低优先级
改变现有进程优先级
renice
语法:
renice niceness -p processid
niceness 是nice值
processid 是进程ID
常规用户只能修改自己进程的nice值
常规用户使用renice只能降低进程优先级
守护进程
守护进程是一种在后台运行,不与任何终端相连,提供服务的进程。
Unix通常有许多守护进程
可以使用下面命令查看守护进程
ps -t - | less
如果系统不支持,可以考虑
ps -e | grep '?' | less
使用ps命令时,TTY列显示问号的(?)表示该进程不受终端控制
大多数守护进程是在启动的最后一部分自动创建的
在一些情形中,这些进程由初始化进程创建
另一些情形中,这些进程由终止自身的父进程创建,然后init会收养这些孤儿,从而他们的父进程变为init
Linux系统中,/etc/rc.d/init.d目录下有大量shell脚本,每个shell脚本都是用来启动、停止或者重新启动一个特定的守护进程
一些Unix守护进程
守护进程
|
目的
|
init |
其他所有进程的祖先,收养孤儿 |
apache |
Apache Web服务器 |
atd |
运行at程序排列的作业 |
crond |
管理预调度作业的执行(cron服务) |
cupsd |
打印调度器(CUPS=Common Unix Printing System,通用Unix打印系统) |
dhcpd |
为客户端动态配置TCP/IP信息(DHCP) |
ftpd |
FTP服务器(File Transfer Protocol,文件传输协议) |
gated |
网络的网关路由 |
httpd |
Web服务器 |
inetd |
Internet服务 |
kerneld |
根据需要加载或卸载内核模块 |
kudzu |
在启动过程中检测并配置新/改变过的硬件 |
lpd |
打印队列(行打印机守护进程) |
mysql |
MYSQL数据库服务器 |
named |
Internet DNS服务器(DNS=Domain Name System,域名系统) |
nfsd |
网络文件访问(NFS=Network File System,网络文件系统) |
ntpd |
时间同步(NTP=Network Time Protocol,网络时间协议) |
rpcbind |
远程过程调度(RPC) |
routed |
管理网络路由表 |
sched |
swapper的另一个名称 |
sendmail |
SMTP服务器(电子邮件) |
smbd |
Windows客户端的文件共享&打印服务(Samba) |
sshd |
SSH(安全shell)连接 |
swapper |
将数据从内存复制到交换空间,回收物理内存 |
syncd |
文件系统与内存内容的同步 |
syslogd |
收集各种系统消息(系统日志记录器) |
xinetd |
Internet服务(取代inetd) |
转贴请保留以下链接
本人blog地址
发表评论
-
Linux书籍笔记目录
2013-12-12 10:53 0内建命令 命令 描述 章节 页码 章节 ... -
《Unix & Linux 大学教程》 - 附录F
2012-11-15 22:15 2582学习笔记,内容基础,适合初学者。 阅读之前,请务必 ... -
《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记
2012-11-07 11:15 2400学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第二十五章 学习笔记
2012-10-31 16:22 2809学习笔记,内容基础,适合初学者。 阅读之前,请务必 ... -
《Unix & Linux 大学教程》 - 第二十四章 学习笔记
2012-10-25 16:34 2592学习笔记,内容基础,适合初学者。 阅读之前,请 ... -
《Unix & Linux 大学教程》 - 第二十三章 学习笔记
2012-10-23 13:31 1991学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记
2012-10-19 18:54 2182学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记
2012-10-18 14:43 1749学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记
2012-10-09 17:30 2626学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第二十一章 学习笔记
2012-09-24 16:30 2500学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第十九章(二)、第二十章 学习笔记
2012-09-17 18:48 2650学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第十九章(一) 学习笔记
2012-09-14 18:11 2547学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第十八章 学习笔记
2012-08-22 15:40 2476学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第十六、十七章 学习笔记
2012-08-21 10:57 2903学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第十四、十五章 学习笔记
2012-08-17 14:34 3364学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第十三章 学习笔记
2012-08-14 11:43 4594学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记
2012-08-08 18:24 4120学习笔记,内容基础,适合初学者。 阅读之 ... -
《Unix & Linux 大学教程》 - 第九、十章 学习笔记
2012-08-07 15:07 2412学习笔记,内容基础,适合初学者。 阅读之前, ... -
《Unix & Linux 大学教程》 - 第七、八章 学习笔记
2012-08-06 17:16 3033学习笔记,内容基础,适合初学者。 阅读之前,请务 ... -
《Unix & Linux 大学教程》 - 第五、六章 学习笔记
2012-08-03 13:52 3588学习笔记,内容基础,适合初学者。 阅读之前,请务 ...
相关推荐
本资料“Linux学习笔记.pdf”将带你深入理解Linux的基础知识和高级应用。 一、Linux系统概述 1. Linux的起源:Linux的诞生源于托瓦兹对Minix系统的不满,他决定创建一个符合个人需求的、免费的Unix-like操作系统...
集合了 所有的 Unix命令大全 登陆服务器时输入 公帐号 openlab-open123 telnet 192.168.0.23 自己帐号 sd08077-you0 ftp工具 192.168.0.202 tools-toolss 老师测评网址 http://172.16.0.198:8080/poll/ 各个 ...
### Linux系统学习笔记 #### 一、Linux系统Shell介绍 1. **Linux系统Shell类型**:Linux系统提供了多种Shell供用户选择,常见的包括Bourne shell (`sh`), C shell (`csh`), Korn shell (`ksh`)等。其中,`sh`是Unix...
- 第一部分的第二个至第十个字符分为三个三元组(triplet),分别表示文件属主、组用户和其他用户的权限。 - 第二部分表示文件的硬链接数目。 - 第三部分表示文件属主。 - 第四部分表示文件属主所在的默认组。 - 第...
#### 第二章 Unix标准化及实现 - **主要标准**:介绍POSIX标准、IEEE Std 1003.1以及其他相关标准。 - **主要Unix系统实现简介**:列举不同的Unix变种(如Solaris、AIX、HP-UX等),并简要说明其特点。 - **系统...
以下是对"第11章 Linux操作系统基础"的主要知识点的详细阐述。 一、Linux操作系统简介 Linux是基于Unix的操作系统,由林纳斯·托瓦兹于1991年创建。它的内核是开源的,允许全球开发者对其进行修改和优化。Linux系统...
通过“嵌入式Linux入门笔记”,学习者将能了解嵌入式系统的基础概念,熟悉Linux内核、设备驱动、Bootloader的工作原理,掌握构建和调试嵌入式系统的技能,为成为一名合格的嵌入式Linux开发者打下坚实基础。
### Shell脚本编程知识点概述 #### 一、预备知识与基本概念 在开始Shell脚本文档的学习之前,首先需要理解Shell...以上就是文档《总结搜集的shell脚本学习笔记(完结篇)》中所涵盖的主要知识点,希望对你有所帮助。
Linux 101考试模块化培训笔记是为Linux专业人士协会(LPI)的LPI 101考试准备的,尤其针对考试的第2版目标。这本培训笔记由Andrew McGill编写,属于Leading Edge Business Solutions公司的Linux培训计划的一部分。该...
C ++入门手册第五版笔记与知识点整合 一.C ++基础知识 二。函数 三。类 四.IO库 ##五。顺序容器 六。泛型编程 七。关联容器 八。动态内存 九。拷贝控制 十。重载运算与类型转换 十一。面向对象程序设计 十二。模板...
2. 第二范式(2NF):非主键属性完全依赖于主键。 3. 第三范式(3NF):消除传递依赖。 七、数据库安全性 1. 用户权限管理:GRANT和REVOKE命令分配和撤销用户权限。 2. 视图(View):提供安全访问,只允许用户看到...