Linux学习笔记(五)

十、进程

  • ps:显示当前所有进程的情况
  • top:实时显示当前进程所有任务的资源占用情况
  • jobs:列出所有活动作业的状态信息
  • bg:设置在后台中运行作业
  • fg:设置在前台中运行作业
  • kill:发送信号给某个进程
  • killall:杀死指定名字的进程
  • shutdown:关机或者重启系统

 

进程如何工作

系统启动时,内核先把他的一些程序初始化为进程,然后运行一个称为init的程序。init程序将依次运行一系列称为脚本初始化的shell脚本(/etc目录下),这些脚本将启动所有的系统服务。其中有很多服务是通过守护程序(daemon program)实现的。而后台程序只是呆在后台做他们自己的事情。一个程序的运行可以触发其他程序的运行,进程中这种情况被表述为父进程创建子进程。内核会保存每个进程的信息以确保任务有序进行,每个进程会被分配一个叫做进程ID的号码。

 

1、使用ps命令查看进程信息

默认情况下ps只是输出和当前终端会话相关的进程,ps x 命令显示所有进程,pa aux命令将输出更多信息

?代表没有终端控制

STAT代表进程的当前状态

R运行状态。进程正在运行或者准备运行

S

睡眠状态。进程不再运行,等待某事件的发生
D不可中断的睡眠状态。比如等待I/O操作
T暂停状态
Z无效或者“僵尸”进程
<高优先级进程

N

低优先级进程

 

 

 

 

 

 

 

 

2、使用top命令动态查看进程信息

 

控制进程

1、中断进程: Ctrl-C将会中断一个程序

2、使进程在后台执行: xlogo &  在命令后面加上&符号来实现,会返回作业编号以及PID

3、使进程返回到前台:fg %1 在后台执行的程序不会受到任何键盘输入的影响,包括Ctrl-C,使用fg命令后面加上%和作业编号来实现这个功能

4、停止(暂停)进程:Ctrl-Z

 

信号

kill命令精确来说不是杀死进程,而是给进程发送信号,信号是操作系统与程序之间通信的多种方式之一,在使用Ctrl-C和Ctrl-Z就是发送信号。

1、使用kill命令发送信号到进程

kill [-signal]  PID...

如果命令没有明确指出信号,那么默认发送TERM信号(终止,Treminate),常见信号如下

信号编号信号名含义
1HUP挂起信号,该信号的效果通过关闭终端会话的方式来表现,当一个后台程序进程接收到这个信号时,他将重启,并且重新读取他的配置文件。
2INT中断信号,Ctrl-C效果相同
9KILL杀死信号
15TERM终止信号,kill命令默认发送的信号类型
18CONT继续运行信号,用于恢复接受了stop信号的进程
19STOP暂停信号

 

 

 

 

 

 

 

 

 

2、使用killall发送信号给多个进程

killall [-u user] [-signal] name...

可以给指定程序以及指定用户名的多个程序发送信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值