2016-10-5 linux基础学习——进程及作业管理

进程及作业管理

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

COW: copy on write写时复制

VSZ: 虚拟内存集
RSS: 常驻内存集

100-139:用户可控制
 nice值:优雅的
 -20 ~ -19
 100 ~ 139
    普通用户仅能调高进程的nice值
    超级用户随意调高低
0-99:内核调整

在/proc文件下,可以看到很多进程号
init:进程号只能为1,第一个进程

大O标准
    O(1)
    O(n)
    O(logn)
    O(n^2)
    O(2^n)

进程的分类:
    跟终端相关的进程
    跟终端无关就进程

进程状态:
    p:不可中断的睡眠
    R:运行或就绪
    s:可中断睡眠
    T:停止
    z:僵死
    b:阻塞
    
    <:高优先级进程
    N:低优先级进程
    +:前台进程组中的进程
    l:多线程进程
    s:会话进程首进程
    
[[email protected] ~]# ps aux | head
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2828  1404 ?        Ss   02:27   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    02:27   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    02:27   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    02:27   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    02:27   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S    02:27   0:00 [events/0]
root         7  0.0  0.0      0     0 ?        S    02:27   0:00 [cpuset]
root         8  0.0  0.0      0     0 ?        S    02:27   0:00 [khelper]
root         9  0.0  0.0      0     0 ?        S    02:27   0:00 [netns]

**Command加[ ]的,是内核进程
    
ps:专门查看进程
    两种风格:
    Sysv风格:-
    BSD风格:
    
    常见选项
    a:展现BSD风格,显示跟终端有关的进程
    u:
    x:显示跟终端无关就进程
    
    -F:完全风格
    -e:显示所有线程(表示-A)
    -l:长格式(PRI表示优先级, NI表示nice值)
    -o:指定属性
    
[[email protected] ~]# ps -el | head
                        优先级
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0     1     0  0  80   0 -   707 -      ?        00:00:01 init
1 S     0     2     0  0  80   0 -     0 -      ?        00:00:00 kthreadd
1 S     0     3     2  0 -40   - -     0 -      ?        00:00:00 migration/0
1 S     0     4     2  0  80   0 -     0 -      ?        00:00:00 ksoftirqd/0
5 S     0     5     2  0 -40   - -     0 -      ?        00:00:00 watchdog/0
1 S     0     6     2  0  80   0 -     0 -      ?        00:00:00 events/0
1 S     0     7     2  0  80   0 -     0 -      ?        00:00:00 cpuset
1 S     0     8     2  0  80   0 -     0 -      ?        00:00:00 khelper
1 S     0     9     2  0  80   0 -     0 -      ?        00:00:00 netns    
    
    
!!!!!!!!!找某个进程的常用用法!!!!!!!
[[email protected] ~]# ps aux | grep "bash"
root      1767  0.0  0.1   7844  1620 tty1     Ss+  02:28   0:00 -bash
root      1790  0.0  0.1   6700  1616 pts/0    Ss   02:29   0:00 -bash
root      2692  0.0  0.0   5936   720 pts/0    D+   05:35   0:00 grep bash

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

pgrep:以grep风格查找符合某些特征的进程号
    -u :指定以某用户为属主的进程
    eg:
    [[email protected] ~]# pgrep -u root bash
    1767
    1790

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

top:
    M:根据驻留内存大小进行排序
    P:根据CPU使用百分比进行排序
    T:根据累计时间进行排序
    

    l:是否显示平均负载时间和启动时间
    t:是否显示进程和CPU状态相关信息

    m:是否显示内存相关信息
    
    c:是否显示完整的命令行信息
    q:退出top
    k:终止某个进程
    
    选项:
    -d #:指定延时时长,单位秒
    -b:翻屏显示,批模式
    -n #:在批模式下,共显示翻几次屏

进程间通信(IPC:Inter Process Communication)
    共享内存
    信号:Signal
    Semaphore:旗语
    
kill -l下的重要的信号:
1:SIGHUP   让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效
2:SIGINT   终端一个进程 =Ctrl+c
9: SIGKILL  杀死一个进程
15:SIGTERM  终止一个进程,默认信号

指定一个信号:
    信号号码:kill -l
    信号名称:kill -SIGKILL
    信号名称简写:kill -KILL
    
kill PID:终止指定进程号
KILL COMMAND:所有包含此命令的进程都将被杀死
    
调整nice值
调整已经启动的进程的nice值
renice NICE值 PID

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

[[email protected] ~]# ps axo pid,nice,command | head
  PID  NI COMMAND
 
    7   0 [cpuset]
    8   0 [khelper]
    9   0 [netns]
[[email protected] ~]# renice 3 8    ————调整PID为8的进程的nice值为3
8: old priority 0, new priority 3
[[email protected] ~]# ps axo pid,nice,command | head
  PID  NI COMMAND

7   0 [cpuset]
    8   3 [khelper]
    9   0 [netns]

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

jobs:查看后台的所有作业
    作业号:不同于进程号
        +:命令将默认操作的作业
        -:命令将第二个默认操作的作业

前台-->后台:
    Ctrl+z 把前台作业送到后台
    Command & 让命令在后台进行
    
bg:让后台停止的作业继续运行(在后台)
    bg [[%]JOB-ID]作业号
    
fg:将后台作业调回前台
    fg [[%]JOB-ID]作业号
    
----%可省
----如果是要杀死后台进程,%不可省
    kill %JOB-ID
        
vmstat:系统状态查看命令
    # 跟一个数字,指定每隔几秒钟刷新一次,动态显示
    # # 跟两个数字,第一个是每隔几秒钟显示,第二个是刷新几次

uptime
    top 的第一行内容

cat /proc/meminfo : 内存相关信息


cat /proc/# 进程号/maps: 进程信息

时间: 2024-10-01 00:32:09

2016-10-5 linux基础学习——进程及作业管理的相关文章

Linux基础之进程及作业管理(一)

Linux进程及作业管理 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能 Process: 运行中的程序的一个副本: 存在生命周期 Linux内核存储进程信息的固定格式:task struct 多个任务的的task struct组件的链表:task list 进程创建: init 父子关系 进程:都由其父进程创建 fork(), clone() 进程优先级: 0-139: 1-99:实时优先级: 100-139:静态优先级: 数字越小,优先级越高: Nice值: -20,

Linux基础之进程及作业管理(二)

Linux进程及作业管理(2) CentOS 6: http://172.16.0.1/fedora-epel/ CentOS 7: http://172.16.0.1/fedora-epel/ 进程管理类命令: htop命令: 选项: -d #:指定延迟时间间隔: -u UserName:仅显示指定用户的进程: -s COLUME:以指定字段进行排序: 子命令: l:显示选定的进程打开的文件列表: s:跟踪选定的进程的系统调用: t:以层级关系显示各进程状态: a:将选定的进程绑定至某指定的C

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

linux基础学习【4】

系统进程 一.什么是进程 进程 : 一个正在运行中的程序 程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统会给予这个内存内的单元一个识别码 (PID). 二.查看进程 1.图形方式查看 命令:`gnome-system-monitor` 2.进程查看命令 命令:`ps` ps -A/-e 显示所有(包括不同终端不同用户)进程(PID,TTY,TIME,CMD) ps -a 当前环境中运行的进程,不包含环境信息(PID,TTY,TIME,CMD) ps -u (

Linux内核学习-进程

先说几个术语: 一.Linux进程的五个段 下面我们来简单归纳一下进程对应的内存空间中所包含的5种不同的数据区都是干什么的.重点:代码段.数据段.堆栈段,这是一个概念堆.栈.全局区.常量区,这是另一个概念1)代码段:代码段是用来存放可执行文件的操作指令,也就是说是它是可执行程序在内存中的镜像.代码段需要防止在运行时被非法修改,所以只准许读取操作,而不允许写入(修改)操作--它是不可写的.代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域.这部分

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

linux基础学习【5】

sshd服务,服务管理及文件传输 一.控制服务 1.什么是服务 2.用什么控制服务 系统初始化进程可以进行相应的控制 3.当前系统初始化进程是什么 systemd 系统初始化进程 pstree 显示系统中的进程树 进程树 4.系统控制命令 ssh(client)客户端---->sshd(server)服务器 命令:`systemctl` systemctl status sshd 查看sshd服务的状态inactive(不可用)/active(可用) systemctl start sshd 开

Linux基础学习-crond系统计划任务

系统计划任务 大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了. 计划任务分为一次性计划任务和周期性计划任务. 一次性计划任务 每晚11店30分开启网站服务. 周期性计划任务 每周一的凌晨3点30分把/var/www/html目录打包备份为backup.tar.gz 顾名思义,一次性计划任务只执行一次,一般用于满足临时的工作需求,可以使用at命令实现. 如果你的Linux没有此命令可以使用yum inst

linux基础学习随笔【根本没有排序哈】

直接整:init 3 5 6 0;init 3代表切换到字符界面,5代表切换到图形界面:6表示重启,等同于reboot:0表示关机=poweroff:改主机名:hostnamectl set-hostname centos7.localdomain;[记不住,TAB键补全]查看操作系统linux版本:cat /etc/centos-release;或者通过安装lsb_release -a ;查看内核版本: uname -rlscpu 查看CPU使用情况:lsblk查看硬盘:free - h查看内