RedHatLinux6.0学习笔记 进程管理

来源:互联网 发布:hash算法有哪些 编辑:程序博客网 时间:2024/05/24 04:36

INIT进程与配置文件

init进程 是加载Linux内核的主进程 PID永久为1

init程序为/sbin/init

init进程的配置文件在 /etc/inittab

[root@localhost ~]# grep -v "^#" /etc/inittab | grep -v "^$"
id:5:initdefault:     ->initdefault 初始化系统后默认进入的级别

10:1:wait:/etc/rc.d/rc 0

id:runlevel:action:process

重要  runlevel

0:关机状态

1:单用户模式

2:字符模式多用户无网络

3:字符模式多用户完全模式

4:未分配使用

5:图形界面的多用户模式

6:重启

可以使用init切换运行级别  用runlevel查看当前运行级别->前过去后现在


其他系统初始化文件

/etc/rc.d/rc.sysinit

由init进程调度  主要负责:设置网络,主机名,加载文件系统等初始化工作

/etc/rc.d/rc 脚本文件

由init进程调度 主要负责:根据指定的运行级别 加载或终止相应的服务

/etc/rc.d/rc.local 脚本文件

由rc脚本调度 主要负责管理员自行设置的启动命令


系统服务的启动控制

查看服务启动状态:chkconfig    --list 服务名

设置服务的启动状态:chkconfig--level级别服务名on|off

也可以:chkconfig服务名on|off

例子:chkconfig--level2345vsftpdon

另外一个系统服务管理工具

ntsysv 可以同时设置大量服务(这个现在用的不多)


查看进程信息  ---命令后加&在后台启动

ps命令

a:显示当前终端下的所有进程 all

u:以用户为主的格式输出 user

x:显示当前用户在所有终端下的进程信息


-e:显示系统内的所有进程

-l:使用长格式显示进程信息

-f:使用完整格式显示进程信息


ps aux  :显示系统中所有进程信息

ps -elf  :同上 包含跟详细的信息


top命令

查看动态进程的排名信息(没选项,很简单)

按键控制

P:以CPU排序cpu

M:内存memory

N:启动时间

h:可获得top的在线帮助help

q:退出


pgrep命令

查询特定进程

-l:列出进程的名称

-U:根据用户所属的组查找

-t:根据用户所在的终端查找

例子1:pgrep -l "init"

2 :   pgrep-l-U组名 -t tty1


pstree命令

以树形结构显示进程间的关系

-p:列出PID

-u:列出用户名

-a:列出进程对应的完整命令


进程的调度启动

ctrl+z   当前进程挂起至后台并停止执行

jobs查看后台进程

fg  fg +任务序列号将后台进程恢复到前台

例子 [root@localhost ~]#vsftpd
^Z
[1]+  Stopped                 vsftpd
[root@localhost ~]# jobs
[1]+  Stopped                 vsftpd
[root@localhost ~]# fg 1
vsftpd

killkill +PID终止进程

killall 终止指定名称的所有进程

-9 选项强制终止

pkill 有条件的终止进程

选项有-U:按所属用户名user

     -t:按所属终端tty


计划任务管理

at命令

服务脚本/etc/init.d/atd

属于一次性计划任务:在指定时间完成一次任务

只指定时间   则表示当天

只指定日期  则表示当前时间

格式:首先开启atd服务

[root@localhost ~]# service atd start

[root@localhost ~]# chkconfig --list atd
atd             0:off1:off2:off3:on4:on5:on6:off

[root@localhost ~]# at 4:19 
at> reboot
at> <EOT>           这个是Ctrl+D提交

job 1 at 2013-10-31 04:19

一些at的参数

at -l 查看当前计划的所有任务

at -d id 删除指定id的任务


crontab命令

服务脚本:/etc/init.d/crontab

主要文件:

全局配置文件 /etc/crontab

系统默认设置/etc/cron.*/

用户自定义的设置:/var/spool/cron/用户名

编辑任务 crontab -e

查看计划任务 crontab -l

删除计划任务 crontab -r

PS:其实只是用crontab -e 命令就可以以vi编辑打开/var/spool/cron/用户文件


配置格式minute hour  day   month week command 

            0-59    0-23  1-31   1-12    0-7 

*表示该范围内的任意时刻

,表示多个间隔的不连续时间点

- 表示一个连续的时间范围

/ 表示间隔的时间频率

例子

0 17 * * 1-5 表示周一到周五的17:00

30 8 * * 1,3,5 表示周1 3 5 的8:30

0 8-18/2 * * *表示每天8点到18每隔2小时