Linux系统管理—进程管理

Linux中每个进程都有一个独立的进程号PID,系统通过PID操控进程。其中原始进程是init他的PID总是1。

Linux进程的五种状态:

(1)运行:正在运行或在就绪队列中等待

(2)中断:休眠中,正在等待某个事件发生或者等待某个信号

(3)不可中断:收到信号不唤醒和不可运行,一直到有中断发生

(4)僵死:进程已经终止,但是PID还在,直到父进程调用wait4()将其释放

(5)停止:进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号停止


ps(process status)

ps [选项]

显示系统中进程信息,他是显示当前那些进程的快照信息,如果需要动态显示进程信息需要使用top

     a:显示所有,包括终端的进程

     u:显示进程的所有者

     -a:显示所有当前终端下执行的进程

     -e:显示所有进程

     -l:以长列表形式显示

常与grep组合使用

ps -ef | grep ssh


pstree(process status tree)

以树状方式显示进程的父子关系。使用ASCII字符显示,清晰表达进程之间的关系

pstree [选项]
-a 显示每个进程的完整命令

-c 不是用精简法

-h 标明执行的过程

-l 采用长格式显示树状图

-p 显示进程号

-u 显示用户名称


top命令

top [选项]

动态显示系统正在执行的进程相关信息,包括PID,CPU,内存占用等

-u 批处理

-c 显示整个命令而不是显示命令名

-d 指定两次屏幕信息刷新时间

-i 不显示闲置或僵死的进程

-p制定某个进程PID,监视此进程

-s是top命令在安全模式下运行,去除交互所带来的潜在危险

top交互式命令

c:切换命令名称的是否完整显示

Ctrl+L:擦除并且重写屏幕

f:从当前显示中添加或者删除列

h:显示帮助信息

i:忽略闲置和僵死进程

k:终止一个进程

M:根据驻留内存大小进行排序

P:根据CPU使用排序显示

q:退出程序


搜索进程

pgrep [选项] 进程

通过程序名称或者其他属性查找进程,一般用来判断程序是否正在运行

pidof [选项] 进程名

通过确切的进程名字找到程序的PID

-s:只显示一个pid

ps | grep XXX

通过管道来搜索


控制进程

kill [信号代码] PID

用来杀死一个进程,一般和ps/pidof/pstree/top等结合使用,先找到PID,然后kill掉

信号代码:

-0 给当前所有在进程组的进程发送信号

-1 给所有进程号大于1的发送信号

-9 强行终止进程

-15终止进程(默认)

-a 种植所有进程

-u指定用户

killall [-signal] <进程名>

杀死指定名字的进程

pkill [options] pattern

通过进程名字直接杀死所有进程

xkill

杀死图形界面的程序


进程优先级

nice [-n ADJUST] [--adjustment = ADJUST] [--help] [--version] [command]

进程的优先级用nice值表示,nice可以调整命令的运行优先级,nice值范围是-20~19共40个等级,数值越小,优先级越高,只有root有权使用负值。如果nice之后没有加上command参数,那么会显示目前执行的等级。优先级超过-19按-19算,超过20按20算。

如:

nice -n 5 ls

renice命令允许用户修改一个正在运行的进程的优先等级

renice priority [[-p] pids] [[-g] pgrps] [[-u] users]

renice +2 -p 234 -u root

上面的命令将pid为234及root用户拥有的进程优先级加1


控制前后台进程

将一个前台进程放入后台

命令 &

如: top & 将top命令放入后台执行

控制后台进程

jobs    //列出系统作业号和名称

fg 作业号   // 前台恢复运行

bg 作业号    //后台恢复运行

kill 作业号     //杀死作业


以守护进程方式执行任务:nohup

nihup command [Arg...] [&]

使用nohup命令运行的程序注销后仍可以在后台运行。

nohup /root/test.sh &


定时执行任务

可以使用at命令定时执行任务

at [-f file] [-mldv] TIME

at命令在制定时间执行某个命令或程序。TIME格式:HH:MM如果制定超过一天MM/DD/YY 月日年

atq  //查询当前用户正在等待的任务

atrm <任务号>  //删除一个正在等待的任务

at之后进入交互式命令,开始输入要执行的命令,然后Ctrl+D退出交互式模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值