ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux:进程控制

Linux:进程控制

原创 Linux操作系统 作者:果果的空间 时间:2013-08-14 17:50:19 0 删除 编辑
Linux系统状态检测及进程控制
1.查询当前系统信息
2.查询当前系统状态,如:内核版本等
3./proc 文件系统:透视内核
4.进程的显示
5.控制进程
6.控制台的前台和后台

系统信息的收集
hostname  显示或设置主机名
uname 显示系统信息
last 显示最近的用户登录
lastlog 显示每个用户的登录情况


1.hostname 
 /etc/hosts
cat /etc/hosts
vi /etc/hosts
修改hosts文件, 将主机名与IP修改为自己的主机名和IP
一个标准的hosts文件是(1)将localhost解析为127.0.0.1 (2)将主机名的IP(localhost6.localdomain6)解析为自己的IP,保证主机启动服务很快
****修改完主机名后,一定要将IP与主机名做对应
如:
127.0.0.1          localhost.localdomain localhost
192.168.1.231  uplooking.com server1

永久更改主机名 vi /etc/sysconfig/network, 将hostname 更改
修改配置文件, 下次重新启动不会生效, 如hostname baidu.com,就不会生效

window的hosts文件在C:\Windows\System32\drivers\etc下

系统状态
/proc文件系统, 非常重要
free 查看内存的使用情况,显示系统中剩余及已用的无力内存.....
df 查看硬盘使用情况  df 查看
du 查看文件大小 du -sh /etc 查看目录/etc的大小
系统日志


1.proc 内容, 它是文件系统总览
ls /proc/ 查看到的大小都是假的
cat /proc/filesystems 显示的是内核当中的数值, mount到其他地方也也可以看到
mount -t proc none /mnt
ls /mnt
umount

cat /proc/mounts  查看有哪些加载点
cat /proc/meminfo 查看还有多少内存
cat /proc/sys/net/ipv4 只有sys目录下的文件可以设置,其他proc的文件都是只读, 如:
cat /proc/sys/net/ipv4/icmp_echo_ignore_all
vi /proc/sys/net/ipv4/icmp_echo_ignore_all 结果为0, 设置为1 ,
echo 1 > proc/sys/net/ipv4/icmp_echo_ignore_all ,设置后任何人都无法ping通自己的ip
echo 0 > proc/sys/net/ipv4/icmp_echo_ignore_all ,恢复设置后就可以ping通自己的ip

  1. /proc 目录在每次系统开机时由核心根据/etc/fstab自动在内存中创建,并非真实的文件
  2. /proc 目录下的文件与目录都是虚拟产生,因此绝大多数的文件大小为零
  3. 不可以cat /proc/kcore 这是当前运行内核的一个镜像,尝试cat会造成当前终端无法使用

说明:常用的/proc下的文件
cat /proc/cupinfo    --------CPU(i.e:vendor. Mhz,flags like mmx)
cat /proc/interrupts -------中断
cat /proc/ioports   ---------设备IO端口
cat /proc/meminfo  -------内存信息(ie:mem used , free , swap size)
cat /proc/partition ---------所有设备的所有分区
cat /proc/pci  -------PCI设备的信息, 没有这个设备应该不显示(我自己尝试的时候,没有)
cat /proc/swaps ---所有Swap分区的信息
cat /proc/version ----Linux的版本号


2.系统日志: 常见的系统日志都放在/var/log 下
ls /var/log
其中messages的日志是最重要的, 各种日志都往里面写
tail /var/log/messages 
tail /var/log/messages -f 参数-f代表监视日志
tail /var/log/secure
secure 安全性相关的日志
wtmp保密相关的日志 执行 tail /var/log/wtmp后,页面上显示的信息都变为了乱码
.1 .2 .3等都是截断日志
xferlog 是ftp的日志
cron 计划任务

常见的看日志的方法 
tail /var/log/messages 
无法登录 查看日志 tail /var/log/secure

常用系统日志
/var/log/dmesg 核心启动日志
/var/log/messages 系统报错日志
/var/log/maillog 邮件系统日志
/var/log/boot.log 系统引导过程日志
/var/log/cron 记录守护进程派生子进程
/var/log/syslog 记录警告信息
/var/log/wtmp 永久记录用户登录事件
/var/log/xferlog 记录FTP会话
/var/log/secure 安全信息

了解进程
1.系统通过进程来完成工作
2.每一个进程都有一个独立的进程号,系统通过调用进程号来调度操控进程
3.系统的原始进程是init ,  init 的PID 总是1
4.一个进程可以产生另外一个进程, 除了init外, 所有的进程都有父进程
5.一个进程可以同时身为一个进程的子进程,及另一个进程的父进程,可以使用pstree -p 查看进程间的关系和进程号

查看进程的状态
1.查看进程的关系  ps [option]
2.pstree 以树状的方式来表进程间的父子关系
3.top 常用的系统监视工具


显示进程的命令 top,  kill ,  ps
1.使用top命令查看进程, 可以看到进程的属性,可以查看 CPU的使用情况, 跟windows差不多
M 安装memory排序
k 杀掉进程, 输入进程 ,
q  退出
? 查看top的帮助
<> 来回翻页
r 修改优先级
n 调整列号

2.使用ps命令查看进程ps  auxf   -ef 
ps
ps a
ps au 显示的进程状态如同执行top命令, 只显示控制台的进程
ps aux 显示控制台和后台的进程
ps -ef 显示如同ps aux一致, 就是显示的列不一致
ps ef 和ps -ef 显示的列是不同的
ps auxf 显示进程树 , 进程的ID为PID, 父进程的ID为 PPID

-e 显示所有进程
-f  全格式
a 显示终端上的所有进程,包括其他用户的进程
r 只显示正在运行的进程
x 显示没有控制终端的进程

ps 显示中的STAT,可以为:
R 正在运行
z  僵尸进程,如:未能被父进程回收的子进程,通常是一个系统Bug或非法操作
< 高优先级进程
N 低优先级进程
T 进程已终止
S 进程睡眠中,通常因事件发生而被唤醒
D 进程睡眠中,除非发生指定事件,否则不会被唤醒

进程控制:
kill [signal] PID , 向进程传送一个特定的讯号, 默认为15(终结)
kill -l  列出所有可以由kill传递的讯号

最好不要用-9来杀进程
kill 进程号  就可杀掉进程 kill PID 和 kill -9 KID
kill 无法杀掉进程的时候(15信号被屏蔽), 就用kill -9 进程号
kill -19 进程号  (19号信号是暂停进程)
killall pname,    全部杀掉进程 , 如: killall httpd
sill xl
skill -9 xl
skill -9 tty1
pkill -u xl

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29056818/viewspace-768520/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-07-18

  • 博文量
    60
  • 访问量
    114984