任务管理
1.命令集合
命令 | 含义 | 用法 |
---|---|---|
& | 将命令丢到后台执行 | tar -zpcf /tmp/etc.tae.gz /etc & |
[ctrl]+z | 将任务丢到后台暂停 | |
jobs | 查看目前后台任务状态 | jobs [-lrs] |
fg | 将后台任务拿到前台处理 | fg %jobnumber |
kill | 管理后台任务 | kill -signal %jobnumber kill -l |
2.脱机管理问题
nohup
命令可以在脱机或注销系统后,还能让任务继续执行。
语法:
nohup [命令与参数]
<==在终端前台任务
nohup [命令与参数] &
<==在终端后台任务
进程管理
1.查看进程
ps
ps aux
或 ps -lA
查看系统所有的进程
ps -l
查看自己bash进程
[root@study ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 14830 13970 0 80 0 - 52686 poll_s pts/0 00:00:00 sudo
4 S 0 14835 14830 0 80 0 - 50511 wait pts/0 00:00:00 su
TTY为pts/n代表登陆者是远程登录
top 动态查看进程的变化
top [-d 数字] | top [-bnp]
在top中修改NI(与priority有关,越小越早被执行)数值的方法:在top界面按下r,输入进程PID,按下后输入NI值。
pstree 可以找到进程之间的相关性
pstree [-A|U] [-up]
※如果子进程挂掉或是总砍不掉子进程时,可通过pstree找到父进程。
2.进程的管理
进程管理:通过给予进程一个信号去告知该进程你想要它做什么。
主要信号的代号、名称及内容:
代号 | 名称 | 内容 |
1 | SIGHUP | 启动被终止的进程 |
2 | SIGINT | 相当于ctrl+c中断进程的运行 |
9 | SIGKILL | 强制中断进程的运行 |
15 | SIGTERM | 以正常方式结束进程来终止进程 |
19 | SIGSTOP | 相当于ctrl+z暂停进程的运行 |
kill -signal PID
注意:kill 后面直接加上数字与%数字是不同的,%数字是专门用于任务管理的。
killall -signal 命令名称
killall [-iIe] [command name]
如果要删除某个服务,最简答的方法就是利用killall,它可以将系统中所有以某个命令名称启动的进程全部删除。
3.进程的执行顺序
priority与nice值(均是越小越早被执行)
PRI值由内核动态调整,用户无法调整。
nice值调整
①nice:新执行的命令即给予新的nice值
nice [-n 数字] command
②renice:已存在进程的nice重新调整
renice [number] PID
另外,top命令也可调整NI值,前面有讲。
注意:root可调整的范围为-20~19;一般用户的范围为0~19,且仅可将nice值调高。
查看系统资源信息
1.free 查看内存使用情况
free [-b|-k|-m|-g|-h] [-t] [-s N -c N]
2.uname 查看系统与内核相关信息
uname [-asrmpi]
3.uptime 查看系统启动时间与任务负载
4.netstat 追踪网络或socket文件
netstat -[atunlp]
5.dmesg 分析内核产生的信息
6.vmstat 检测系统资源变化
特殊文件与进程
1.具有SUID/SGID权限的命令执行状态
例如passwd命令,触发passwd后,会获得一个新的进程与PID,该PID产生时通过SUID来给予该PID特殊的权限设置。
2./proc/*代表的意义
主机上面的各个进程的PID都以目录的形式存在于/proc当中
查询已使用文件或已执行进程使用的文件
1.fuser 借由文件找出正在使用该文件的进程
fuser [-umv] [-k [i] [-signal]] file/dir
2.lsof 列出被进程所使用的文件名称
lsof [-aUu] [+d]
3.pidof 找出某个正在执行的进程的PID
pidof [-sx] program_name
评论区