Linux系统、服务管理
进程管理
进程查看:
- 查看进程:ps aux
- User:进程的用户身份
- pid:进程id
- %cpu:cpu占用率
- %mem:内存占用率
- vsz:虚拟内存占用
- rss:实际内存占用
- tty:运行终端
- stat:运行状态
- start:进程启动时间
- time:占用cpu的运算时间
- command:产生进程的命令
- 查看进程树:pstree
- top [option]:查看进程与系统信息
- -d:刷新秒数,默认3秒
- -b:使用批处理模式输出,一般和-n一同使用
- -n num:top命令执行的次数
- 交互式命令:
- ?或h:显示交互式模式的帮助;
- P:cpu使用率排序
- M:内存使用率排序
- N:PID排序
- q:退出top
进程杀死:
- kill [option] pid:杀死单个进程
- kill –l:查看可用信号,1是重启并重新加载配置文件,9是强制杀死,15是默认值,正常杀死
- killall [option] pname:按照进程名杀死进程,
- -i:交互式
- 支持信号,信号在选项前
- pkill [option] pname:按照进程名杀死进程
- -t 终端号:按照终端号踢出用户
- 支持信号,信号在选项前
进程优先级:
系统资源查看:
- vmstat [刷新延时 刷新次数]
- dmesg:查看内核自检信息
- free [option]:查看内存使用状态
- -b/k/m/g:以byte/kb/mb/gb为单位显示。默认是kb
- cat /proc/cpuinfo:查看cpu的信息
- uptime:top命令的第一行信息
- uname [option]:查看内核信息,-a/r/s分写是全部信息,内核版本和名称
- lsof:查看进程调用的文件,或文件被哪些进程调用
- lsof:查看所有进程调用的文件
- lsof systemfile:查看文件被哪些进程调用
- lsof –c process:查看进程调用了哪些文件
- lsof –u root:查看用户的进程调用的文件
工作管理
工作:即放在后台执行的进程,可通过jobs查看
- 工作挂在终端下,会随着终端的结束而结束;
- 需要和用户交互的进程无法在后台运行,只能是停止状态;
后台进程脱离终端的方法:
- nohup
- 使用定时任务,让程序在指定的时间执行
- 将命令放入/etc/rc.loacl中执行,随着系统启动
定时任务
定时任务:定时任务中的命令一定要用绝对路径,因为定时任务中的环境变量和用户的不同,且输出要记得重定向
- at:一次性定时任务
- crontab:循环定时任务
- anacron
at
at:at [option] time,centos7中没有默认安装,且at执行的内容受限于制定at工作的用户
- 访问控制配置文件:/etc/at.allow、/etc/at.deny,前这优先级高,root用户不受限制
- atq:查看当权服务器上的at工作
- atrm 工作号:删除指定的at任务
- option:
- -m:当at完成后,email通知制定at的用户;
- -c 工作号:显示该at的工作内容
- time:
crontab
crontab:ctontab [option],受制于crontab的用户权限
- 访问控制配置文件:/etc/cron.allow、/etc/cron.deny,前这优先级高,root用户不受限制
- option
- -e:编辑定时任务
- -l:查询当前用户的任务
- -r:删除当前用户的所有任务
- 命令格式:
系统crontab任务、anacron(root用户使用)
系统定时任务配置文件:/etc/crontab
系统默认定时任务文件夹:/etc/cron.hourly/dailt/montly/weekly
anacron:检测、运行没有按时运行的crontab任务
- 配置文件:/etc/anacrontab
- 记录crontab任务执行时间:/var/spool/anacron/
- 注意:运行单位是系统默认定时任务文件夹,即不能将具体到每个定时任务
- 缺点:定时任务的执行时间不可控,无论是正常还是补救执行
服务管理
常见服务:
服务的分类:基于xinetd的服务以及渐渐被淘汰
查看服务默认端口:/etc/services
查看tcp和udp正在监听的端口信息:netstat –tulnp
针对centos7:systemctl取代了service和chkconfig,服务目录/usr/lib/systemd/system/
- 操作服务:systemctl start/stop/restart等 unitfile,centos7中建议的方式,修改/etc/rc.local文件不建议。
- 自启动相关:systemctl enable/disable unitfile
针对centos7以前:
rpm包安装的独立服务启动方式:/etc/init.d/servername或service servername 后接start/stop/restart/status
独立服务自启动设置:
- chkconfig [--level 运行级别] [servername] [on/off]
- 在/etc/rc.d/rc.local中添加启动服务的命令,不同版本的linux使用方式不同,看注释
ntsysv:需要图形界面,redhat专有