//grup引导文件 [root@localhost 桌面]# vim /boot/grub/grub.conf default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu //title 以前是全局设置 title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64) root (hd0,0) // sda1 kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=02f6a12f-1f47-4c22-871e-43ed23e29391 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD quiet rhgb crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM initrd /initramfs-2.6.32-220.el6.x86_64.img ~ //init进程 是系统中第一个进程,PID(进程标记)号永远为1 init 0 关机 init 1 单用户 init 2 多用户,不能使用网络 init 3 多用户,运行使用网络 init 4 官方未定义,可以自己定义 init 5 图形化界面 init 6 重启 //init配置文件 [zkpk@localhost 桌面]$ vim /etc/inittab //系统初始化脚本 [zkpk@localhost 桌面]$ vim /etc/rc.d/rc.sysinit [zkpk@localhost 桌面]$ ls /etc/rc.d/ init.d rc0.d rc2.d rc4.d rc6.d rc.sysinit rc rc1.d rc3.d rc5.d rc.local //对应着 init0-6 (rc0.d rc2.d rc4.d rc6.d) [zkpk@localhost 桌面]$ ls /etc/rc.d/rc5.d/ // init5 对应着的服务 K01certmonger K84wpa_supplicant S24rpcidmapd K01matahari-host K86cgred S25cups K01matahari-network K87restorecond S25netfs // 查看运行级别 [zkpk@localhost 桌面]$ runlevel N 5 // init 5 //守护进程 (服务) //系统服务控制 系统服务控制 963 service cups status 964 service cups stop 965 service cups status 966 service cups staat 967 service cups start 968 service cups reload 969 service cups status //service 管理的 脚本需在/etc/init.d/下 [root@localhost 桌面]# cd /etc/init.d/ [root@localhost init.d]# /etc/init.d/cups status //同service cups status cupsd (pid 6095) 正在运行... [root@localhost init.d]# cd /etc/rc.d/init.d/ // /etc/init.d/连接文件 //调理服务的默认状态 两个工具: chkconfig 和 ntsysv(不常用) //chkconfig调理服务的默认状态 [root@localhost init.d]# chkconfig --list cups cups 0:关闭 1:关闭 2:启用 3:关闭 4:启用 5:关闭 6:关闭 [root@localhost init.d]# chkconfig --list | grep cups cups 0:关闭 1:关闭 2:启用 3:关闭 4:启用 5:关闭 6:关闭 [root@localhost init.d]# chkconfig --level 35 cups on // 不写35的话,默认的是2345级别 //进程管理和计划任务 //程序与进程的关系 程序:保存在硬盘、光盘等介质中的可执行代码和数据,是静态保存的代码 进程:在CPU及内存中运行的程序代码,是动态执行的代码,有独立的进程号,系统通过调用进程号来调度操控进程 系统的原始进程是init,其PID总是1 父子进程:每个进程可以创建一个或多个进程 //查看静态的进程统计信息 [root@localhost 桌面]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.8 0.0 19404 1560 ? Ss 14:44 0:04 /sbin/ root 2 0.0 0.0 0 0 ? S 14:44 0:00 [kthr] root 3 0.0 0.0 0 0 ? S 14:44 0:00 [migr] //查看动态的进程排名信息 [root@localhost 桌面]# top top - 14:58:18 up 13 min, 2 users, load average: 0.00, 0.03, 0.00 Tasks: 264 total, 1 running, 263 sleeping, 0 stopped, 0 zombie Cpu(s): 2.3%us, 1.9%sy, 0.0%ni, 95.6%id, 0.0%wa, 0.1%hi, 0.1%si, Mem: 2047324k total, 640104k used, 1407220k free, 34352k buffer Swap: 524280k total, 0k used, 524280k free, 248072k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2785 root 20 0 162m 27m 8240 S 10.3 1.4 0:07.08 Xorg 3503 root 20 0 335m 17m 11m S 5.6 0.9 0:01.62 gnome-term 3777 root 20 0 15220 1364 948 R 0.7 0.1 0:00.09 top 1 root 20 0 19404 1560 1252 S 0.0 0.1 0:04.54 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.04 migration/ //进程的优先级,用nice值来表示 优先级受进程的nice value影响,这个值的范围是-20到19,默认是0 //查看进程信息 //pgrep根据特定条件查询进程PID信息 [root@localhost 桌面]# pgrep "init" 1 //通过进程名查询 [root@localhost 桌面]# pgrep -l "http" 4263 httpd 4266 httpd 4267 httpd 4268 httpd 4269 httpd 4270 httpd 4271 httpd 4272 httpd //通过管道来搜索 [root@localhost 桌面]# ps aux | grep "init" root 1 0.3 0.0 19404 1560 ? Ss 14:44 0:04 /sbin/init root 4028 0.0 0.0 103312 872 pts/0 S+ 15:08 0:00 grep init //pstree以树状的方式来表现进程的父子关系 [root@localhost 桌面]# pstree init─┬─NetworkManager─┬─dhclient │ └─{NetworkManager} ├─abrt-dump-oops ├─abrtd ├─acpid ├─atd ├─auditd───{auditd} ├─automount───4*[{automount}] ├─avahi-daemon───avahi-daemon //终止进程的运行 kill用于终止指定PID号的进程 killall用于终止指定名称的所有进程 -9 选项用于强制终止 [root@localhost 桌面]# pgrep -l http 4597 httpd 4599 httpd 4600 httpd 4601 httpd 4602 httpd 4603 httpd 4604 httpd 4605 httpd 4606 httpd [root@localhost 桌面]# kill -9 4606 ot@localhost 桌面]# killall -9 httpd //at计划任务管理 一次性计划任务 服务脚本名称:/etc/init.d/atd 设置格式:at [HH:MM] [yyyy-mm-dd] [root@localhost 桌面]# at 16:00 12/26/2015 at> ls -la /etc > /root/1.txt<EOT> job 3 at 2015-12-26 16:00 [root@localhost 桌面]# //按ctrl+D提交任务 [root@localhost 桌面]# at 22:00 at> shutdown -h now<EOT> job 4 at 2015-12-26 22:00 [root@localhost 桌面]# atq //查看未执行的任务列表 3 2015-12-26 16:00 a root 4 2015-12-26 22:00 a root [root@localhost 桌面]# atrm 4 //删除第4条任务 //at基于用户的使用控制文件 //etc/at.allow 允许那些用户可以使用at计划任务 //etc/at.deny 拒绝那些用户使用at计划任务 //在配置文件中每一个用户名独占一行 //计划任务管理——crond //crontab命令 按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务 服务脚本名称:/etc/init.d/crond // 管理cron计划任务 查看crontab帮助信息: man 5 crontab: 编辑计划任务:crontab -e [-u 用户名] 查看计划任务:crontab -l [-u 用户名] //root用户可以管理指定用户的计划任务 普通用户只能管理自己的计划任务 删除计划任务:crontab -r [-u 用户名] [root@localhost 桌面]# crontab -e no crontab for root - using an empty one crontab: installing new crontab [root@localhost root]# crontab -e 50 7 * * * /sbin/service sshd start //每天早上7:50自动开启sshd服务,22点50时关闭 50 22 * * * /sbin/service sshd stop 0 0 */5 * * /bin/rm –rf /var/ftp/pub/* //每隔5天清空一次FTP服务器公共目录/var/ftp/pub 30 7 * * 6 /sbin/service httpd restart //每周六的7:30时,重新启动httpd服务 30 17 * * 1,3,5 /bin/tar jcf httpdconf.tar.bz2 /etc/httpd/ //每周一、三、五的17:30时,打包备份/etc/httpd目录 //示例 每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件 [root@localhost root]# crontab -e -u jerry 55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt // [root@localhost root]# crontab -l -u jerry //查看用户jerry的计划任务 55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt [root@localhost root]# crontab -r -u jerry //删除用户jerry的计划任务 [root@localhost root]# crontab -l -u jerry no crontab for jerry [root@localhost root]#