Linux 操作系统(四)用户组管理&进程管理&任务调度
以下实例均在Centos7下验证
Centos7 查看命令帮助man xxx
用户组管理
useradd
useradd user1
password user1
cat /etc/passwd #查看用户
usermod -c "用户备注" user1
userdel -r user1 #-r删除更彻底
useradd -u 2000 -g 1000 -c "this is user2" user2 #-u用户id -g组id
usermod -u 1500 #修改组id
su - user #彻底切换到Shell
同理有
groupadd
groupadd group1
gpasswd group1
gpasswd -a user1 group1 #加入组
gpasswd -d user1 group1 #移出组
gpasswd -A user1 group1 #设置组管理员
groupmod -g 6636 group1 #修改组id
进程管理
ps
ps -a #当前终端进程
ps -A #所有终端进程
ps a #所有终端
ps -u user1 #指定用户
ps -ef #全体进程
ps -aux #更详细
ps -ef|grep su #管道符 前输出作为后输入
sleep 1000 & #创建一个睡眠后台作业
jobs
jobs #查看作业
jobs -l #详细
jobs -p #进程id
fg %1 #把作业1调到前台
[Ctrl]+Z #结束作业
jobs -r #运行中的作业
jobs -s #结束的作业
pstree
pstree #树状图展示
pstree -p #进程号
pstree -u #用户
pstree -a #完整路径
top
top 查看资源占用情况
前五行
1 当前时间
2 系统连续运行时间
3 用户数
4 开机1分钟负载,5分钟负载,15分钟负载
5 任务:总数,运行中,睡眠,停止
6 CPU使用情况百分比: 用户,内核,改变进程优先级,空闲,等待
7 内存
8 交换区
目录字段:
PID 进程id
USER 用户
PR 优先级
NT 优先数(越小越高)
VIRT 虚拟内存
RES 内存
SHR 共享内存
S 代表进程状态[R]运行状态[S]停止状态[D]不可改变状态[Z]僵尸状态
%CPU
%MEM 优先级进程
q #log out
h #help
k #kill 进程 输入pid 再输入9立即执行
b #高亮正在执行进程
top -n 2 #更新两次后退出
top -t 3 #3秒刷新一次
nice
nice -n 10 ls #修改进程优先级为10
renice 10 -p pid #修改运行中的进程优先级为10
renice -5 -p pid
kill
kill %1 #序号1号进程
kill -9 pid #立即杀死pid
killall sleep #全部sleep命令
pkill sleep
任务调度
定时任务 [Crtl]+D 结束
at
at now + 3days #3天后执行
at now + 2minutes #默认在a队列
at -q b now + 2minutes #添加到b队列
at -l #查看
atq #查看
at -c 1 #查看1号任务内容
at -d 1 #删掉1一号任务
atrm 3 #删掉1号任务
at -f file1 now + 1minutes #把命令写入文件
batch
用法同at,但无需指定时间,它自动选择系统负荷比较低的时候执行。
crontab
周期性执行任务
每行有6个字段为一个任务
一粘课件有点上瘾....hhh...
systemctl start crond #启动crond服务
crontab -e #当前用户下创建cron调度
crontab -l #查看
crontab -r #删除
________________________________________________________
Every good deed you do will someday come back to you.
Love you,love word !