linux服务分为rpm包默认安装的服务和源码包安装的服务。 rpm包默认安装的服务分为独立的服务和基于xinetd服务。
rpm包安装的服务 chkconfig --list #查看服务自启动状态,能够看到全部rpm包安装的服务 源码包安装的服务 查看服务安装位置:通常是/usr/local/下
rpm安装的服务和源码安装的服务的区别是安装位置的不一样。php
yum -y install xinetd yum -y install telnet-server #xinetd不安全,用的很少了。学习时候能够安装了之后再进行学习和测试。
目录 | 描述 |
---|---|
/etc/ | 配置文件目录 |
/etc/init.d/ | 启动脚本位置 |
/etc/sysconfig/ | 初始化环境配置文件位置 |
/etc/xinetd.conf | xinetd配置文件 |
/etc/xinetd.d | 基于xinetd服务的启动脚本 |
/var/lib/ | 服务产生的数据放在这里 |
/var/log/ | 日志 |
/usr/bin | 可执行命令安装目录 |
/usr/lib | 程序所用的函数库保存位置 |
/usr/share/doc | 软件使用手册保存位置 |
/usr/share/man | 帮助文件保存位置 |
/etc/rc.d/init.d | 启动文件保存位置 |
/etc/init.d/独立服务名 start|stop|status|restart
service 独立服务名 start|stop|status|restartlinux
service --status-all
查看全部的rpm包服务状态apache
第一种:chkconfig [--level 运行级别][独立服务名][on|off] 第二种:修改文件/etc/rc.d/rc.local 加入 /etc/init.d/httpd start 第三种:使用ntssysv命令管理自启动 (redhat独有)
vi /etc/xinetd.d/telnet service telnet #服务的名称为telnet { flag=REUSE #标志为REUSE,设定TCP/IP socket可重用 socket_type=stream #使用TCP协议数据包 wait=no #容许多个链接同时链接 user=root #启动服务的用户为root server=/usr/sbin/in.telnetd #服务的启动程序 log_on_failure += USERID #登陆失败后,记录用户的ID disable = yes #服务是否启动,no为启动 } service xinetd restart #重启xinetd restart
第一种:chkconfig telnet on|off 第二种:ntsysv
xinetd启动和自启动会同步。可能这就是他不怎么用的一个缘由吧。安全
/usr/local/apache2/bin/apachectl start|stop #查看源码包安装文件,找到启动脚本的方法
vi /etc/rc.d/rc.local /usr/local/apache2/bin/apachctl start
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache #让源码包的apache服务能被service命令管理启动 vi /etc/init.d/apache #让源码包能被chkconfig和ntsysv命令管理自启动 # chkconfig:35 86 76 #指定httpd脚本能够被chkconfig命令管理。格式是:chkconfig:运行级别 启动顺序 关闭顺序 # description: source package apache #说明:内容随意
ps aux #a 前台进程 x后台进程 u哪一个用户生成的 ps -efl #e全部进程 l更详细的信息 f表达进程之间的关系 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 9617 0.0 0.1 110244 1148 pts/1 R+ 12:07 0:00 ps aux #USER 哪一个用户产生的 #PID 进程id #%CPU 占用cpu资源百分比 #%MEM 占用内存资源百分比 #VSZ 占用虚拟内存大小 大小KB #RSS 占用那个物理内存大小 KB #TTY 该进程在哪一个终端中运行 tty1-tty7本地控制台终端,其中tty7为图形终端,其余字符终端,pts/0-pts/256表明虚拟终端 #STAT 进程状态 R运行,S睡眠,T中止状态,s包含子进程,+位于后台 #START 进程启动时间 #TIME 占用cpu运行时间 #COMMAND 产生此进程的命令
[root@localhost 12:23:33 Desktop]# top top - 12:25:24 up 6 min, 2 users, load average: 4.68, 3.24, 1.48 Tasks: 157 total, 2 running, 155 sleeping, 0 stopped, 0 zombie Cpu(s): 6.8%us, 1.7%sy, 0.0%ni, 91.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1004132k total, 621724k used, 382408k free, 25888k buffers Swap: 1048572k total, 0k used, 1048572k free, 240808k cached /************ 第一行: 12:25:24 系统当前时间 up 6 min, 系统运行时间,本机已经运行6分钟 2 users, 当前系统登陆了两个用户 load average: 4.68, 3.24, 1.48 系统在以前1分钟,5分钟,15分钟的平均负载。通常以cpu核数为界限 *************/ /************ 第二行: Tasks: 157 total, 系统进程总数 2 running, 正在睡眠的进程数 155 sleeping, 正在运行的进程数 0 stopped, 正在中止状态的进程数 0 zombie 僵尸进程,若是非0,手工检查僵尸进程 *************/ /************ 第三行: Cpu(s):6.8%us, 用户模式下占用cpu百分比 1.7%sy, 系统模式下占用cpu百分比 0.0%ni, 改变过优先级的用户进程占用的cpu百分比 91.5%id, 空闲cpu的百分比 0.0%wa, 等待输入和输出的服务占用cpu百分比 0.0%hi, 硬中断请求服务占用的cpu百分比 0.0%si, 软中断请求服务占用的cpu百分比 0.0%st 虚拟时间百分比,即当有虚拟机时候,虚拟cpu等待实际cpu时间的百分比 *************/
top -d 5 #每五秒刷新一次 ?或h #显示交互模式帮助 P #以cpu使用率排序 M #之内存使用率排序 N #以pid排序 q #退出
pstree -p #显示进程的pid pstree -u #显示进程的所属用户
kill -l #查看可用的进程信号 kill -1 进程id #至关于restart kill -2 进程id #至关于ctrl+c kill -9 进程id #强制当即结束程序运行 kill -15 进程id #默认的 kill -19 进程id #至关于ctrl+z kill -9 -t tty1 #踢掉本地终端tty1的用户
tar -zcf etc.tar.gz /etc & #放入后台运行 top & #会暂停,由于top是前台展现的交互命令,放入后台就没有意义就暂停了。 jobs -l #显示后台的工做,-l参数显示pid fg %工做号 #%能够省略
vmstat 1 3 #监控系统资源,刷新延时为1秒 刷新3次 dmesg | grep CPU #开机时内核检测信息 free [-b|-m|-k|g] #以字节为单位显示,byte,KB,MB,GB cat /proc/cpuinfo #查看cpuinfo uptime #查看系统启动时间和平均负载,top,w命令也能看到这个数据 uname -a #查看系统全部有关信息 uname -r #查看内核版本 uname -s #查看内核名称 file /bin/ls #查看系统多少位 lsb_release -a #查看发行版本 crontab #若是有百分号要有转义符,不是当即执行,判断系统是否繁忙,不繁忙则执行。crond
lsof -c 字符串 #列出以字符串开头的进程打开的文件 lsof -u 用户名 #列出某个用户的进程打开的文件 lsof -p 进程id #列出某个pid进程打开的文件