《Linux Shell脚本攻略》学习之(十三)

posted in: LINUX | 0

第九章 管理重任

9.2 收集进程信息

ps是收集进程信息的重要工具。

  • 选项
#显示更多列
ps -f
#获取系统中每个进程的信息
ps -e 
ps -ax
#选项
ps [OTHER OPTIONS] -o parameter1,parameter2

选项列表

参数                   描述

pcpu                CPU占用率

pid                 进程PID

ppid                父进程PID

pmem                内存使用率

comm                可执行文件名

cmd                 简单命令

user                启动进程的用户

nice                优先级

time                累积CPU时间

etime               进程启动后流逝的时间

tty                 所关联TTY设备

euid                有效用户ID

stat                进程状态

 

top

  • 找出给定命令所对应的进程ID
ps -C COMMAND -o pid

 

pgrep

  • 获得特定命令的进程列表
pgrep COMMAND
  • 指定用户
pgrep -u root
  • 显示进程的环境变量
ps -eo cmd e

 

which、whereis、file、whatis与平均负载

  • which命令用来找出某个命令的位置
which ls
  • whereis
whereis ls

他不仅返回命令的路径,还能够打印出其命令对于的命令手册的位置预计命令源代码的路径

  • file确定文件类型
file FILENAME
  • whatis命令会输出作为参数的命令的简短描述信息
whatis ls
  • uptime
uptime

 

9.3 杀死进程以及发送响应信号

  • 列出所有可用信号
kill -l
  • 杀死进程
kill PROCESS_ID_LIST
  • 向进程发送指定信号
kill -s SIGNAL PID
  • 通过命令名终止进程
killall process_name

如果需要在杀死进程前进行确认,使用killall的-i选项

  • pkill
pkill process_name
  • 捕捉并响应信号
trap 'singnal_handler_function_name' SIGNAL LIST

 

9.4 向用户终端发送信息

  • 向终端中所有当前登录用户发送广播消息
wall< message
  • 允许写入消息
mesg y
  • 禁止写入消息
mesg n

 

9.5 采集系统信息

  • 打印当前系统主机名
hostname
#或者
uname -u
  • 打印Linux内核版本、硬件架构等详细信息
uname -a
  • 内核发行版本
uname -r
  • 打印主机类型
uname -m
  • 打印CPU信息
cat /proc/cpuinfo
  • 打印内存消息
cat /proc/meminfo
  • 列出系统分区信息
cat /proc/partitions

 

9.6 使用proc采集信息

系统中每一个运行的进程在/proc中都有一个对应的目录,目录名和进程ID相同。

  • environ:包含进程相关的环境变量
  • cwd:到进程工作目录的符号链接
  • exe:到当前目录所对应的可执行文件的符号链接
  • fd:包含了进程使用的文件描述符

 

9.7 用cron进行调度

  • 删除cron表
crontab -r

 

9.9 用户管理脚本

  • 创建新用户
useradd USER -p PASSWORD

-m创建home目录

  • 删除用户
deluser USER
  • 锁定、解锁用户
usermod -L USER
usermod -U USER
  • 处理用户账户过期信息
chage -E DATE

-m MIN_DAYS:更改密码的最小天数修改成MIN_DAYS

-M MAX_DAYS:设置密码的最大天数

-W -WARN_DAYS:设置在前几天提醒需要更改密码

  • 更改用户密码
passwd USER
  • 添加、删除用户组
addgroup GROUP
delgroup GROUP