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:off 2:off3:on 4:on5:on 6: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小时