Linux服务和进程管理

Linux服务和进程管理

一、   进程管理

进程管理的三个主要任务:

n  判断服务器的健康状态

n  查看所有正在运行的进程

n  强制终止进程

1、 进程查看

      1)、   ps   aux        查看当前系统所有运行的进程(可以不加-)

                 -a   显示前台所有进程

                 -u   显示用户名

                 -x   显示后台进程

命令执行结果示例:

USER       PID %CPU %MEM    VSZ  RSS TTY      STAT START   TIME COMMAND

root         1 0.0  0.1   2872 1416 ?        Ss   02:53  0:02 /sbin/init

u  user:        用户名

u  pid:          进程id。PID          1  init  系统启动的第一个进程

u  %CPU        cpu占用百分比

u  %MEM       内存占用百分比

u  VSZ            虚拟内存占用量           KB

u  RSS            固定内存占有量

u  tty  登录终端         

tty1-7  本地终端          1-6 字符  7图形  

pts/0-255

alt+F1-F7

u  stat状态          S:睡眠     D:不可唤醒          R:运行       T:停止                  Z:僵死    W:进入内存交换 X:死掉的进程                       <:高优先级 N:低优先级          L:被锁进内存                   s:含子进程     +:位于后台          l:多线程

u  start           进程触发时间

u  time           占用cpu时间

u  command   进程本身

2、 pstree        -a 查看进程树

3、 top      实时显示进程状态

执行结果:

top - 05:19:47 up  2:26, 1 user,  load average: 0.00, 0.00,0.00

Tasks: 87 total,   1 running,  86 sleeping,  0 stopped,   0 zombie

Cpu(s): 0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa, 0.0%hi,  0.0%si,  0.0%st

Mem:  1030800k total,   261228kused,   769572k free,    33620k buffers

Swap: 1023992k total,        0kused,  1023992k free,   147920k cached

PID USER      PR NI  VIRT  RES SHR S %CPU %MEM    TIME+  COMMAND 

2309 root      20  0  2552 1060  856 R 0.3  0.1   0:00.29 top                                              

   1 root      20   0 2872 1416 1200 S  0.0  0.1  0:02.33 init 

执行结果说明:

Ø  第一行:  系统当前时间     系统持续时间     登录用户             1,5,15分钟之前的平均负载

Ø  第二行:进程总数

Ø  第三行:CPU占用率     %id     空闲百分比

Ø  第四行:内存使用: 总共    使用    空闲    缓存

Ø  第五行:swap使用情况

操作命令:      M   内存排序

                 P    CPU排序

                 q    退出

2、 终止进程

      kill     信号   PID           结束单个进程

            -9   强制

 

      killall    -9   进程名           结束一类进程

      pkill     -9  进程名

     

      w         判断登陆用户

      pkill   -9 -t  终端号             把某个终端登陆的用户踢出

      pkill   -9 -t  tty1                 把本地登陆终端1登陆用户踢出

二、   服务管理

1、 Linux中服务的分类

      1)、   系统默认安装的服务     (rpm包)

u  独立的服务

u  基于xinetd的服务,xinetd是系统超级守护进程

²  xinetd服务其本身就是一个独立的服务。

²  当程序调用xinetd服务时,它先调用的事xinetd服务,让后xinetd服务在调用索要调用的服务进行相应。

²  Linux系统默认是没有安装xinetd服务的,需要进行安装后才能使用。

2)、     源码包安装的服务

2、 系统默认安装的服务

      1)、   如何区分服务的分类

      chkconfig  --list        查看服务的自启动状态

      执行结果:

sshd               0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

      Linux的运行级别:0-6

           0    关机

           1    单用户模式

           2    不完全多用户,不包含NFS服务

           3    完全多用户 字符界面

           4    未分配

           5    图形界面

           6    重启

切换系统当前的运行级别:

init  0         关机         

init  5         切换到图形界面(前提图形界面已经安装)

init  3         切换到字符界面

      init  6        重启

查看当前系统的运行级别:

      runlevel                 查询系统当前运行级别

通过配置文件修改系统的默认运行级别:

      vi  /etc/inittab

该文件内容如下:

id:3:initdefault:

修改其中的数字,即可修改成功。

      2)、   独立的服务管理

启动

第一种方式:

/etc/rc.d/init.d/服务名    start|stop | restart | status

      /etc/rc.d/init.d/httpd    start

第二种方式:(只支持RedHat系列的Linux)

      service   服务名    start| stop | restart |status

      service命令其本质是当命令运行时直接在/etc/rc.d/init.d目录下查找相应的服务,并进行相应的操作。)

自启动

第一种方式:

      chkconfig   --level 2345   服务名  on|off

第二种方式:(推介

      vi  /etc/rc.local           (系统启动时会运行该文件)

该文件内容:

touch /var/lock/subsys/local      (更新系统的开机时间)

在下一行,写入自己要启动的服务名,比如我要开机自启动httpd服务:

就加入/etc/rc.d/init.d/httpdstart

更改后文件就是:

touch /var/lock/subsys/local

/etc/rc.d/init.d/httpd start

      3)、   ntsysv自启动管理工具

      所有系统默认安装服务都可以使用ntsysv命令进行自启动管理。rpm包安装服务,自启动管理工具(只要rpm安装的,都可进行管理)

3、 源码包安装的服务

      启动

           /usr/local/apache2/bin/apachectl  start

自启动

           vi   /etc/rc.local   

                 /usr/local/apache2/bin/apachectl  start

三、   计划任务

首先保证crond服务时启动的(crond默认是自启动的)

命令:crontab

编辑格式:      * * * * *  命令

说明:

u  第一个*:一小时中第几分钟           0-59

u  第二个*:一天中第几个小时           0-23

u  第三个*:一个月中第几天              1-31

u  第四个*:一年第几个月          1-12

u  第五个*:一周中星期几          0-6  

例:

10  *  31 *  *  命令

10  *  * *  *  命令

5  4  * 5-10  *  命令

*/10  *  * *  *  命令

5 4  1,15  * *  命令              日期和星期不要同时指定,会超出预期

5 4 10 * 5 命令

*/20 4 * 5 2   命令             每隔二十分钟

查看系统定时任务

crontab  -l

删除定时任务

crontab  -r

注意事项:

选项都不能为空,必须填入,不知道的值使用通配符*表示任何时间

每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔

间隔固定时间执行书写为*/n格式

命令应该给出绝对路径

星期几何第几天不能同时出现

最小时间范围是分钟,最大时间范围是月

 

四、   查看系统启动信息

dmesg        查看系统启动信息

cat  /var/log/dmesg      系统启动信息日志

dmesg | grep eth0         查看eth0信息

dmesg | grep CPU         查看cpu信息

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值