进程及作业管理

Uninterruptible sleep: 不可中断的睡眠
Interruptible sleep:可中断睡眠

kernel:
init:

COW: Copy On Write, 写时复制

100-139:用户可控制
0-99:内核调整的

O:
    O(1)
    O(n)
    O(logn)
    O(n^2)
    O(2^n)
    
init: 进程号为1

ps: Process State
    SysV风格:-
    BSD风格:
    
    a: 所有与终端有关的进程
    u:
    x: 所有与终端无关的进程
    
进程的分类:
    跟终端相关的进程
    跟终端无关的进程

进程状态:
    D:不可中断的睡眠
    R:运行或就绪
    S:可中断的睡眠
    T:停止
    Z:僵死
    
    <:高优先级进程
    N: 低优先级进程
    +:前台进程组中的进程
    l: 多线程进程
    s: 会话进程首进程

ps    
    -elF
    -ef
    -eF

ps -o PROPERTY1,PROPERTY2

ps -o pid,comm,ni

pstree: 显示当前系统上的进程树

pgrep:
pidof: 根据程序名称,查找其相关进程的ID号;
top:

vmstat
free
kill
pkill
bg
fg

<:高优先级的进程
N:低优先级的进程
l: 多线程进程
+:前台进程组中的进程
s: 会话进程的领导者

top:
    M: 根据驻留内存大小进行排序
    P:根据CPU使用百分比进行排序
    T: 根据累计时间进行排序
    
    l: 是否显示平均负载和启动时间
    t: 是否显示进程和CPU状态相关信息
    m: 是否显示内存相关信息
    
    c: 是否显示完整的命令行信息
    q: 退出top
    k: 终止某个进程

top
    -d: 指定延迟时长,单位是秒
    -b: 批模式
    -n #:在批模式下,共显示多少批
    
进程间通信(IPC: Inter Process Communication)
    共享内存
    信号: Signal
    Semaphore
    
重要的信号:
1:SIGHUP: 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;
2: SIGINT:Ctrl+c: 中断一个进程
9: SIGKILL:杀死一个进程
15: SIGTERM:终止一个进程, 默认信号
    
指定一个信号:
    信号号码:kill -1
    信号名称:kill -SIGKILL
    信号名称简写:kill -KILL

kill PID
killall COMMAND

调整nice值:
调整已经启动的进程的nice值:
renice NI PID

在启动时指定nice值:
nice -n NI COMMAND

前台作业:占据了命令提示符
后台作业:启动之后,释放命令提示符,后续的操作在后台完成

前台-->后台:
    Ctrl+z: 把正在前台的作业送往后台
    COMMAND &:让命令在后台执行
    
bg: 让后台的停止作业继续运行
    bg [[%]JOBID]

jobs: 查看后台的所有作业
    作业号,不同于进程号
        +:命令将默认操作的作业
        -:命令将第二个默认操作的作业
        
fg: 将后台的作业调回前台
    fg [[%]JOBID]
    
kill %JOBID: 终止某作业

vmstat:系统状态查看命令
uptime:  显示top命令的第一行

/proc/meminfo  查看内存信息

Linux进程笔记的更多相关文章

  1. Linux内核笔记--内存管理之用户态进程内存分配

    内核版本:linux-2.6.11 Linux在加载一个可执行程序的时候做了种种复杂的工作,内存分配是其中非常重要的一环,作为一个linux程序员必然会想要知道这个过程到底是怎么样的,内核源码会告诉你 ...

  2. 【转载】linux内核笔记之进程地址空间

    原文:linux内核笔记之进程地址空间 进程的地址空间由允许进程使用的全部线性地址组成,在32位系统中为0~3GB,每个进程看到的线性地址集合是不同的. 内核通过线性区的资源(数据结构)来表示线性地址 ...

  3. linux进程学习笔记

    学习了linux下的进程,觉得应该整理一下,忘得差不多了,顺便回顾一下. 学而时习之,不亦说乎~~ 进程笔记 ,什么是进程? The Single UNIX Specification, Versio ...

  4. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  5. Linux进程线程学习笔记:运行新程序

    Linux进程线程学习笔记:运行新程序                                         周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...

  6. Linux 进程管理 笔记

    https://www.ibm.com/developerworks/cn/linux/l-linux-process-management/index.htmlLinux 进程管理剖析 进程可以是短 ...

  7. Linux学习笔记(16)Linux前后台进程切换(fg/bg/jobs/ctrl+z)

    关键词:Linux前后台进程切换,linux进程切换 fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一.& ...

  8. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  9. linux学习笔记2-linux的常用命令

    第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...

随机推荐

  1. linux驱动面试题2

    1.什么是GPIO? general purpose input/output GPIO是相对于芯片本身而言的,如某个管脚是芯片的GPIO脚,则该脚可作为输入或输出高或低电平使用,当然某个脚具有复用的 ...

  2. python threading基础学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' """ python是支持多线程的,并 ...

  3. Ruby新手教程和技巧

      Ruby真的比Java更好? Ruby On Rails 创始人:对Java 说再见 这两周以来环绕Java发生的两件大事:EclipseCon 和TheServerSide Java Sympo ...

  4. (3)选择元素——(6)属性选择器(Attribute selectors)

    Attribute selectors are a particularly helpful subset of CSS selectors. They allow us to specify an ...

  5. Golang性能调优入门

    如何利用golang自带的profile工具进行应用程序的性能调优,前一段时间我做的日志分析系统在线上遇到了一个问题,就是分任务的系统down机了,日志处理延迟了10几个小时,这个时候任务分发系统重启 ...

  6. c3p0连接数据库

    <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-con ...

  7. (转)创建和查看Javadoc文档

    原地址:http://jinnaxu-tju-edu-cn.iteye.com/blog/667177 Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类.方法.成员等注释形成一个和源代 ...

  8. postman接口测试工具3.0版本的坑

    今天用postman接口测试工具3.0版本被坑,找了半天,原来postman这个新版本有个坑啊 下面的get参数,第一行不管你填不填,都是无效的,可能是postman的一个bug吧

  9. IE6 双倍距BUG

    IE6双倍距BUG的形成: 1.快元素 2.元素浮动 3.margin左右 解决方案:_display:inline;

  10. symfony配置

    1.获取配置的一些变量 在HttpFoundation/Kernel.php 文件里面有函数 getKernelParameters ()可以获取一些配置变量的数组.有需要可以从那里获取. 2.配置s ...