1 进程管理
可以对比一下windows系统:
进程展示:
性能展示:
这些都可以和linux中对应起来,只不过window中看到的指标数据都是实时动态变化的,同样linux中是使用命令来查看这些。
1.1 top命令
例1,使用top命令
top命令是动态输出的,默认每3s刷新一次,命令的输出主要分两大部分。第一部分为前五行内容,一般通过前五行来判断系统的整体健康状况;第二部分是从第六行开始,显示的是系统中进程的信息。
第一部分信息为整个主机系统资源的使用情况
CPU信息
第二部分输出是系统进程信息
这部分主要是看进程的信息,和ps命令比较类似
1.2 ps命令
实际上常用的命令主要还是ps aux或者ps -aux(一般不加-),ps aux需要特别注意的是静态展示,因此展示的相关指标是这一时刻的状态,而不是动态变化的。
例1:
以上命令的输出内容解释如下:
例2:
F:进程标志,说明进程的权限,常见的标志有:
- 1:进程可以复制,但不能执行
- 4:进程使用超级用户权限
1.3 pstree命令
例如:
1.4 进程的管理
主要的几个信号解释如下:
比较常用的几个主要是1和9。
1.4.1 kill
kill命令格式:
kill [信号] PID
1.4.2 killall
主要是用来杀死某个进程
查找某个进程sshd:ps aux | grep sshd
杀死该进程:
killall -9 -i sshd
1.4.3 pkill
pkill与killall命令类似,也是根据进程名杀死进程,但两者区别在于在不通的使用场景下,比如pkill可以根据终端号来进行进程杀死
例如:
pkill -9 -t pts/1
1.5 工作管理
1.5.1 前台后台
把命令放入后台的2种方法
第一种:命令 &
需要注意的是这种放入后台的命令不能与前台有任何交互,否则放入后台的命令不能被执行,是暂停状态,例如top、ls命令等。
第二种:ctrl+z
这个命令是把正在执行的程序暂停,并放入后台。
1.5.2 后台命令管理
jobs查看后台的工作
fg将后台暂停的工作恢复到前台执行
bg将后台暂停的工作恢复到后台执行
nohup后台命令脱离登陆终端运行
1.5.3 系统资源查看
vmstat
监控系统资源。
例如:
dmesg显示开机时内核检测信息
free查看内存使用状态
KB。
查看cpu信息
CPU的主要信息可以通过查看这个/proc/cpuinfo文件信息知晓。
w/who查看本机登陆用户信息
这个命令的结果解释如下:
uptime
uname命令查看系统与内核相关信息
file命令判断系统位数
lsb_release -a命令查看系统发行版本
1.6 at命令
1.6.1 at命令的访问控制
at命令的正确执行需要atd服务的支持。at命令的访问控制是依靠/etc/at.allow文件与/etc/at.deny这两个文件来实现的。例如写入/etc/at.allow文件的用户可以使用at命令,其他用户不能使用;若没有/etc/at.allow文件,写入/etc/at.deny文件的用户不能使用,其他用户可以使用at命令。若两个文件都存在,/etc/at.allow文件比/etc/at.deny权限更高,/etc/at.deny文件失效。
at命令
举例:2分钟后执行一次脚本
其他at管理命令
1.6.2 crontab命令
crontab命令是需要crond服务支持,默认该服务是启动状态。crontab命令与at命令类似,也是可以通过/etc/cron.allow和/etc/cron.deny文件进行命令的使用控制。与/etc/at.allow、/etc/at.deny之间的关系类似。
三种方法:
- crontab -e手工执行
- 修改/etc/crontab文件
- 将脚本放进目录中
第一种方法的命令格式为:
相关字符的解释如下:
第二种办法修改/etc/crontab文件:
将对应的命令写入文件,定时任务的执行者身份可以手工指定
[root@vm3 ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
第三种办法将脚本放入对应的目录:
[root@vm3 bin]# ls -d /etc/cron.*
/etc/cron.d /etc/cron.daily /etc/cron.deny /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly
crontab的注意事项:
路径的命令会报错。
1.6.3 anacron
对于系统由于某些原因(比如关机了等)导致定时任务没有被执行,anacron一般会根据定时任务的情况(daily、hourly、monthly、weekly)进行补充执行漏掉的定时任务,默认45分钟后进行执行。其配置文件如下:
[root@vm3 anacron]# vim /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22
#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
~
~
说明:对于cron.daily目录中的定时脚本5分钟执行、cron.weekly中的脚本隔25分钟执行,monthly类似