Linux进程的管理

目录

什么是进程

查看进程状态

ps显示进程

pstree显示进程

top动态查看进程

进程之间的控制

nice修改进程的优先级

renice修改正在运行进程的优先级

jobs作业控制

把后台的程序调回到前台

把前台的程序调回到后台

进程之间的通信

守护进程

nohup命令关闭终端程序依然运行

daemon进程方式

什么是进程

        进程是指程序运行的过程,进程的管理包括程序的启动,生命周期,运行需要的资源(包括内存资源、运行时候需要的CPU资源),程序的终止(正常终止、异常终止)等。

查看进程状态

ps显示进程

ps         //查看当前终端下进程的状态
ps -e      //查看其他的进程
ps -ef     //显示更多的信息
ps -eLf     //显示线程

PID:进程在当前系统中唯一的标识(因为进程的名称是可以重复的)

TTY:当前执行程序的终端

TIME:进程运行的时间(不具有参考价值)

UID:默认进程由哪一个用户启动的(比如root用户启动进程后,可以将UID改为其他用户)

PPID:父进程编号,表示从哪个进程继承一些信息

CMD:加入f后命令显示为全部路径

LWP:轻量级进程(线程)

pstree显示进程

pstree     //将进程以树状形式显示 

top动态查看进程

查看出来的结果默认为3秒更新一次,可以按s更改更新时间

42min:表示当前系统从最近一次开机到现在运行了42分钟

2users:表示当前系统有两个用户正在登录

load average:平均负载(衡量系统的繁忙程度)

Task-195 total:表示一共有195个进程在运行( 1 running:1个任务正在运行193 sleeping:193个正在休眠)

%CPU(s):2.0us (2%的CPU被用在用户状态计算),0.3sy(1.7%正在进行进程状态的交互),97.7id(97.7%正在处于空闲状态)

进程之间的控制

        首先使用vim命令写一个显示脚本进程的PID的演示程序a.sh(便于观察,写一个死循环使进程一直能够运行下去)

chmod u+x a.sh //首先为用户赋予一个对a.sh文件的执行权限

nice修改进程的优先级

本质为控制进程占用的资源,过多的话释放出来一下,过少的话获得更多的资源。

./a.sh         //启动进程a.sh
//产生的子进程会继承父进程的用户(root)

当查看终端运行中的进程时,需要新建立一个终端执行相应的查看命令:

top -p 3358  //查看3358进程

可以发现,该进程的NI值(nice)为0,我们可以使用nice修改进程的优先级之后再进行查看

nice -n 10 ./a.sh   
top -p 3574 //查看3574进程

 修改完进程之后发现NI的值为10

renice修改正在运行进程的优先级

如果想修改的进程的优先级而且不想关闭程序,可以使用renice

renice -n 15 3574

  

 修改完成之后发现NI的值为15

jobs作业控制

把后台的程序调回到前台

./a.sh &  //在后端运行进程a.sh
jobs      //查看后台的进程
fg 1      //输入要调回前台进程的编号

 

把前台的程序调回到后台

./a.sh   //启动a.sh(默认在前台)
按下ctrl+z

        按下ctrl+z后程序调入后台并且是一个已经停止的状态,主要运用于服务器上前台的备份,但在前台的备份太消耗磁盘IO,可以调入到后台进行临时的停止,为挂起的状态,如果想要调回前台,可以使用jobs。

进程之间的通信

 通过信号机制停止一个程序的运行

kill -l  //查看所有的信号

 例如信号9:杀死进程

./a.sh   //打开另一个终端执行a.sh程序
kill -9 4472  //在另一个终端执行kill命令

 

守护进程

nohup命令关闭终端程序依然运行

        当程序运行未结束的时候,关闭终端,程序会被终止,如果希望关闭终端时候程序不被关闭,可以使用nohup。

nohup tail -f /var/log/message &  //以tail为例演示nohup

(如果tail输出内容会输出到nohup.out文件里) 

打开终端进行查看,然后关闭nohup命令的终端再次进行查看

        再次查看后会发现tail进程未被关闭,而且tail进程的父进程变为1,这是因为父进程被关闭,tail进程被1号进程收留,所以父进程变为了1 。

daemon进程方式

        daemon程序,又称为守护进程,通常在系统后台长时间运行,由于没有控制终端而无法与前台交互。daemon程序一般作为系统服务使用。

以sshd为例(在启动时候在没有终端就能启动起来)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ლ旺旺掀被

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值