进程控制
系统中的各种任务在交给计算机处理时,为了实现多任务都采用了使用进程的方式,这样能提高对硬件的利用率,对进程的控制还能查看系统的运行状态,尤其作为网站的后台服务器,应该随时了解系统运行的状况,及时的做出相应的措施,防止瘫痪。
进程都有代号称为PID,进程产生的过程是由父进程对自身进行复制,然后改变PID等一些参数。在linux中所有的进程都是init发展来的,所以init是所有进程的父进程。
查看进程树用命令pstree 更常用的命令ps,linux中的ps继承了system V和BSD的优点,使用方法如下:
ps 显示前台的进程(即在终端上显示的)
-e 显示所有的进程
-f 显示更详细的信息
-u 以用户类别显示所有进程
a 所有和终端相关的进程
x 所有和终端无关的进程
u 含义和-u相同
-o 后接USER ,PID 等表示要显示的内容
-j 作业格式
-j常结合使用 –ejH或axjf更方便查看进程和子进程
常用组合命令: ps aux 显示的内容有:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
分别表示:用户名,进程ID,使用cpu的时间和开机时间的比值,物理内存的比值,VSZ表示虚拟内存使用量,RSS进程占有的固定内存量,STAT进程当前状态,START进程触发启动的时间,TIME该进程实际使用CPU时间,COMMAND该进程的实际命令。
小命令:pidof httpd 查看httpd的进程号
pgrep –U username 查看所属username的进程号
pgrep –G groupname 查看所属groupname的进程号
进程间的通信主要通过socket,pipe,signal几种方式传递信息。下面说一下kill传递信号的方法:
kill –l 查看可用的信号。常用的
1 重新读取配置文件(不关闭服务)
2 打断终端
9 杀死进程(会损坏文件)
15 终止进程(提示让其正常停止)
19 让进程停止
kill –N PID N为以上的值表示给进程为PID的进程传递N的信号
kill –SIGNAME PID SIGNAME为用kill –l查看的结果
killall –n COMMAND COMMAND 为用ps看到的最后一个值
进程调度:
进程优先级:数值越小优先级越高。动态优先级0~99,动态优先级100~139,而nice表示为优先级取值范围-20~19 默认是0,普通用户只能调高。
nice –n 5 bash 以nice值为5启动bash(启动命令)
renice 6 PID 把进程为PID的进程nice值调为6
top
动态查看进程状态默认没5秒刷新一次,在命令行可以输入以下命令:
M 以占内存大小排序
N 以PID降序排列
T 以TIME排序
q 退出同top
在启动时可以用以下命令:
top –d N 每隔N秒刷新一次
top –n N 一共刷新N次
-b 批次显示 经常和-n连用 eg: top –b –n 3
图形显示资源管理器
附:
网络参数的配置:
配置文件:/etc/sysconfig/network-scripts/ifcfg-ethx
DEVICE =设备名
HWARRD=硬件地址
BOOTPROTO=获取IP方法{dhcp|bootp|static|none}
IPADDR=IP地址
NETMASK=子网掩码
GATEWAY=默认网关
ONBOOT=开机是否启动
USERCTL=其他用户是否能控制
DNS主机名配置文件:/etc/resolv.conf
search 补充的网络地址
nameserver 域名服务器
网络重启命令:service network restart
ifdown eth0 && ifup eth0
查看网关:route –n
netstat –rn
如Flags显示为UG则为网关
测试DNS:dig –t A FQDN 测试正向解析
dig –x IP 测试方向解析
临时添加IP:ifconfig eth0 192.168.0.1/24
临时添加网关:route add default ge 192.168.0.254
网络配置参数以范围小的为准。