Linux 进程

进程:在Linux中每一个执行的程序称为进程,每一个进程都有一个pid(进程号)

进程:可以以前台和后台的方式存在,前台的进程(在显示器中显示),后台的进程(在后台运行)

Linux进程类型:

  • 交互进程:由shell启动的进程,既可在前台运行,也可在后台运行;

  • 批处理进程:与终端没有联系,是一个进程序列;

  • 守护进程:linux系统启动时启动的进程,并在后台运行

ps查看系统执行的进程

ps -a显示当前终端的所有进程信息
ps -u以用户的格式显示进程信息
ps -x显示后台进程运行的参数
ps -aux 查看全部进程
ps -ef全格式显示所有进程(-e全部进程,-f全格式)

下面对参数的解释:

USER使用者
PID进程号
%CPU占用cpu的比例
%MEM占用物理内存的比例
VSZ占用的虚拟内存(kb)
RSS占用物理内存(kb)
TTY终端
STAT运行状态
START执行的开始时间
TIME占用cpu时间
COMMAND进程名

STAT的几种状态:

S- 随眠           s-先导进程         N-优先级较低         R-正在运行

D-短期等待     Z-僵尸进程        T-被追踪或停止

 pidof查询PID

用法:pidof [选项] [服务名称]

kill  终止进程 

  • kill     [选项]   进程号       结束进程

  • killall [选项]   进程名称    可以结束多个进程

  • pkill  [-t 终端号]  进程名    用于踢出登录用户

交互信号: 查看信号  kill -l

信号名称功能
1

SIGHUP

挂起进程
2SIGINT终止进程
3SIGQUIT停止进程
9SIGKILL无条件终止进程
15SIGTERM尽可能终止进程
17SIGSTOP

无条件停止进程,但不是终止进程

18SIGSTP

停止或暂停进程,但不终止进程

19SIGCONT

继续运行停止的进程

例子:

kill -9  进程编号    强制杀死该进程

 trap  捕获信号 

格式: trap  command   signals        singnals   可以使用信号数值,也可以使用信号名

注意:

例如:

trap  "echo   good"  SIGINT   执行Ctrl+C时,不会终止进程,会输出 good

trap  "echo   exit"    EXIT      脚本退出前 执行  exit

修改或移除捕获:

要想在脚本中的不同位置进行不同的捕获处理,只需重新使用带有新选项的trap命令。

trap "echo ' Sorry... Ctrl-C is trapped.'" SIGINT 
# 
count=1 
while [ $count -le 5 ] 
do 
 echo "Loop #$count" 
 sleep 1 
 count=$[ $count + 1 ] 
done 
# 
trap "echo ' I modified the trap!'" SIGINT 
# 
count=1 
while [ $count -le 5 ] 
do 
 echo "Second Loop #$count" 
 sleep 1 
 count=$[ $count + 1 ] 
done

移除捕获:

trap  --  signals

trap   -  signals

pstree查看进程树

pstree[选项]

选项含义
-p显示进程号
-u显示所属用户

lsof 列出进程调用的文件信息

格式: lsof [选项]

选项功能
-c 字符串只列出以字符串开头的进程打开的文件
+d 目录名列出某个目录中所有被进程调用的文件
-u 用户名只列出某个用户的进程打开的文件
-p pid列出某个 PID 进程打开的文件

进程优先级:

进程优先级由 PRL 和 NI 决定

PRI 由内核决定,NI可以通过用户修改

NI越小进程越快执行,NI越大进程越慢执行

 NI 值时有几个注意事项:

  • NI 范围是 -20~19。
  • 普通用户调整 NI 值的范围是 0~19,而且只能调整自己的进程。
  • 普通用户只能调高 NI 值,而不能降低。如原本 NI 值为 0,则只能调整为大于 0。
  • 只有 root 用户才能设定进程 NI 值为负值,而且可以调整任何用户的进程。

关键词用法
nice [-n   NI]  命令  给要启动的进程赋予NI值
renice  [NI] PID进程运行时修改其 NI 值

当输入一条指令时 最后加上   &  代表放后台执行 
当一条指令运行时输入以下指令:

ctrl + z将前台执行的指令放到后台并暂停
fg

将后台中的命令调至前台继续运行

bg将一个后台暂停的命令,继续运行

fg %工作号  

  • %号可以省略
  • 直接 fg  的话,只会把带 + 的后台任务恢复到前台

bg%工作号

  • % 可以省略

nohup后台命令脱离终端运行

nohup 命令的作用就是让后台工作在离开操作终端时,也能够正确地在后台执行

 格式: nohup   command   &

 

由于nohup命令会解除终端与进程的关联,nohup命令会自动将STDOUT和STDERR的消息重定向到一个名为nohup.out的文件中。

  jobs 查看正在运行的作业

格式: jobs [选项]

选项描述
-l

列出进程的PID以及作业号

-n

只列出上次shell发出的通知后改变了状态的作业

-p

只列出作业的PID

-r

只列出运行中的作业

-s

只列出已停止的作业

  • -   代表下一个默认作业
  • +  代表默认作业

注意: 任何时候只有一个 - 进程  和一个 +进程

动态监控进程

top 查看正在执行的进程,动态监控

top [选项]

选项功能
-d   秒数指定top命令每隔几秒更新,默认为三秒
-i  使top不显示闲置或僵尸进程
-p指定监控进程ID来仅仅监控某个进程的状态

上面的解释为:

 交互操作:输入top 后载页面中输入操作

操作功能

P

以cpu使用率排序(默认)
M以内存的使用率排序
N以PID排序
q

退出top

u

之后再输入 用户名

监视特定用户

之后输入进程号

终止特定进程
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>