【Linux】进程,查看硬件信息,定时任务,查看文件信息

发布于:2024-05-23 ⋅ 阅读:(40) ⋅ 点赞:(0)

(一)进程

程序是存放在磁盘中的二进制文件,是静态的。进程是程序的一次执行过程,是动态的。运行程序就会创建进程,分配资源(内存空间等),程序被放入内存才会被CPU执行,CPU管理进程。

1、查看进程 

查看进程的命令:ps(process status) ,top

  • 查看当前终端下的进程:ps
  • 查看当前用户的进程:ps x
  • 查看所有进程(含cpu占用、内存):ps -aux
  • 查看所有进程(含父进程id):ps -ef
  • 查看命令ps的说明文档:man ps
  • 动态查看进程状态(类似Windows中的任务管理器,按键Ctrl+C退出top)top

2、以树状形式查看进程 

可以安装pstree,以树状形式查看进程之间的关系结构。

  • 查看哪个软件包有pstree命令:yum provides pstree
  • 安装 有pstree命令的软件包psmisc:yum install psmisc -y
  • 查看进程之间树状关系结构:pstree
  • 查看pstree的所有选项(参数):pstree --help

3、结束进程

结束进程的命令:kill,pkill

  • 结束指定PID的进程:pkill 进程ID
  • 结束指定名字的所有进程(可能误删):pkill 进程名
  • 强制结束进程(万不得已):kill -9 进程ID
  • 强制结束指定名字的所有进程(万不得已):pkill -9 进程名

通过ssh服务远程连接Linux,终端类型是pts,若希望结束远程连接,只结束pts相关的进程并不能结束连接,需结束sshd进程则该进程下所有子进程全部结束,且远程连接断开。

若使用kill无法正常结束进程,可以使用"kill -9 进程id",但此方法是迫使进程突出终止,则不能自我清理,资源也无法释放,万不得已才使用。


(二)查看硬件信息

1、查看cpu信息

lscpu:查看cpu架构信息。lscpu命令是从sysfs和/proc/cpuinfo中获取的cpu信息。

查看cpu:lscpu

查看lscpu所有选项:lscpu --help

查看lscpu说明文档:man lscpu

/proc/cpuinfo文件记录cpu的供应商和其他相关信息,部分字段说明如下:

  • 字段 "processor" 是cpu内核的编号(从0开始)。
  • 字段"physical id " 是物理cpu的编号(从0开始)。
  • 字段 "cpu cores" 是一个物理cpu的内核数量。
  • 字段 "siblings" 是一个物理cpu的逻辑cpu数量(若siblings=cpu cores则没有启用超线程,若siblings=cpu cores * 2则启用超线程)。

查看物理cpu数量:cat /proc/cpuinfo | grep "physical id " | sort | uniq

查看1个cpu的内核数量:cat /proc/cpuinfo | grep "cpu cores" | uniq

查看是否启用超线程(两数字不同,则启用超线程):cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq

查看逻辑cpu数量:cat /proc/cpuinfo | grep "processor" | wc -l

2、查看内存使用情况

free:查看内存使用情况。包括虚拟交换内存,共享内存,系统核心使用的缓冲区等。

查看内存:free -h

查看内存(并显示总和):free -ht

查看free所有选项:free --help

查看free说明文档:man free

 /proc/meminfo,是虚拟文件,可查看最完整的内存使用情况的实时信息。free命令也是通过它获取得数据。

3、查看块设备信息、磁盘使用情况

(3-1)查看块设备信息

Linux中"一切皆文件",设备也作为文件管理。

块设备:以"块"为单位,存储数据的设备。一般有磁盘、光盘(例如CD-ROM)、闪存盘(例如U盘)等。

lsblk(list block):查看块设备信息,包括文件系统类型,权限等。

查看所有块设备信息(包括磁盘分区): lsblk -a

查看块设备信息(包括磁盘分区,显示完整路径): lsblk -p

查看scsi设备:lsblk -S(大写)

查看块设备的文件系统类型和uuid:lsblk -f

查看块设备的权限和所有权:lsblk -m

查看已经被系统识别的设备cat  /proc/partitions

 查看可以使用的块设备信息(含uuid):blkid

(3-2)查看磁盘使用情况

 磁盘中除了存储文件数据,还存储inode。

inode(index node)索引节点是存储文件和目录信息(文件路径,大小,文件权限,所属用户等)的数据结构。文件系统通过inode快速定位文件数据块。

df(disk free):查看磁盘使用情况。

查看磁盘空间(包括分区):df -h

查看inode空间:df -ih

查看磁盘空间(并显示总和):df -h --total

查看磁盘使用的文件系统信息:df test

查看磁盘所有的使用情况(并显示文件类型和总和):df -ahT --total

查看df所有选项:df --help

查看df说明文档:man df

查看所有分区:fdisk -l

查看所有交换分区:swapon -s

查看挂接的分区状态:mount | column -t

 

补充:若报错 No space left on device

原因:① 磁盘空间满了,df -h 查看。② inode空间满了,df -ih 查看。可能创建了很多空文件或小文件。


(三)定时任务

1、日期时间、时间同步 

查看日期和时间(默认格式):date

查看日期(年--日):date +%F

查看时间(时::秒):date +%T

查看日期和时间(年--日 时::秒):date +%F\ %T

修改日期时间:date -s '20240517 09:27:30'

安装时间同步软件包:yum install chrony -y

查看时间同步服务状态:systemctl status chronyd

开启时间同步服务:systemctl start chronyd

重启时间同步服务:systemctl restart chronyd

 

2、定时任务 

查看crond服务状态:systemctl status crond

重启定时任务:systemctl restart crond

查看定时任务的进程:ps -ef | grep cron

查看定时任务:crontab -l(小写字母l)

写定时任务(进入编辑界面,写定时任务):crontab -e

删除所有定时任务:crontab -r

查看crontab所有选项:crontab --help

 

编辑定时任务:

格式(分钟 小时 日 月 周几 命令): *   *    *   *   *   命令

注:若命令无效,尝试使用which查看命令的完整路径。

crontab:定时执行任务。

anacrontab:若关机,某任务不能执行,则anacrontab在开机后的特定时间重新执行。

定时任务相关的文件和目录: 

  • /var/spool/cron/,目录,存放所有用户(包括root)的定时任务。
  • /etc/crontab,文件,root编辑的系统例行性任务,负责调度各种管理和维护任务,可以查看定时任务的格式。
  • /etc/cron.d/,目录,存放要执行的crontab文件或脚本,例如:0hourly文件。
  • /etc/cron.hourly,目录,每小时运行一次该目录下的文件。
  • /etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly,目录,定期(分别对应每日,每周,每月)运行该目录下的文件。根据/etc/cron.hourly目录下0anacron中的运行方式定期执行相应的目录。
  • /etc/cron.deny,文件,记录不允许使用crontab的用户。
  • /var/log/cron*,文件,定时任务的日志,包括执行情况和错误。
  • /etc/anacrontab,文件,anacrontab的配置文件。
  • /var/spool/anacron/,目录,该目录下一般有三个文件:cron.daily、cron.weekly和cron.monthly,记录上一次执行的时间。


(四)查看文件信息

查看文件属性:ll 文件名

查看文件属性(目录):ll -d 目录名

查看文件类型:file 文件名

查看文件信息:stat 文件名

文件类型: 

符号    意义                  
      普通文件。文件详细信息中以中划线 - 开头。       
 d     目录文件。文件详细信息中以英文字母 d 开头。     
 l     链接文件。文件详细信息中以英文字母 l 开头。      
 c     字符设备文件。文件详细信息中以英文字母 c 开头。    
 s     Socket 文件。文件详细信息中以英文字母 s 开头。     
 p     命名管道文件。文件详细信息中以英文字母 p 开头。    
 b     块文件。文件详细信息中以英文字母 b 开头。   

/proc目录:

  • 是虚拟文件系统(VFS,virtual filesystem)。
  • 存储的是内核运行状态的一系列特殊文件,可以查看系统硬件相关的信息和进程信息等。
  • 该目录下的文件几乎都是虚拟文件,文件大小为0,通过这些文件可以查看系统相关的实时信息。
  • 该目录下很多文件的名字都是数字,这些数字是正在运行的各个进程号。