进程管理

1、进程与程序

    程序:    放置在存储媒介中以物理文件的形式存在
    进程:    在内存中的一个正在动态运行的程序
    进程权限的传递:    用户自身 ——> Shell ——> 子进程

    子进程、父进程
    过程调用:    fork、exec
    系统或网络服务:    常驻内存

    多用户环境:    多个用户账号,权限各异,相互独立的shell环境;root账号作为特权账号管理系统
    多任务行为:    高速的CPU运行速度和优秀的任务调度机制提供性能保证

    多重登录环境:    7个虚拟终端窗口(tty1~tty6共6个字符哑终端,tty7为图形界面终端);目前的个人Linux主机只有控制台Console,
                                所以getty基于Console模拟了7个虚拟终端窗口
    /dev/console    系统控制台,系统级概念,映射到激活的终端,如/dev/ttyn
    /dev/tty             当前控制台,进程级概念,映射到实际的当前设备,即/dev/ttyn或/dev/pts/n
    /dev/ttyn           虚拟控制台,当前的实际设备,下同
    /dev/pts/n
进程管理_第1张图片
f87d13e1-56ec-4346-8402-533f9523dc08.png

多重登录环境的好处: 当一个终端不可用时,可以使用Ctrl+Alt+Fn的方式切换到其他终端去管理有问题的进程

2、工作管理

    脱机管理 —— 任务与终端无关
        nohup [command parameter]        终端前台执行,占用终端
        nohup [command parameter] &    终端后台执行,释放终端

    在线管理 —— 任务与终端相关
        前台进程:    直接执行,可以ctrl+c终止
        后台进程:    &符号运行,ctrl+c无效

    ctrl+z        将前台进程切换为后台进程并暂停运行
    jobs           查看后台进程列表
    fg [%n]      将n号后台进程切换为前台进程
    bg [%n]     将n号后台已暂停进程切换为运行状态
    kill -9 %n  终止n号后台进程  

3、进程管理

    进程状态静态查看
        ps -l           仅查看当前bash自己的子进程
        ps auxw     查看系统所有进程
        ps axwlf     查看系统所有进程信息,命令列将以树状形式显示

        pstree        以树状显示所有进程的关系
        pstree -up 在树状显示中添加进程号和进程所属账号名
    进程状态动态查看
        top               查看所有进程
        top -p pid    查看单一进程
    信号方式管理进程
        常用信号
进程管理_第2张图片
fdcf6ede-a262-4eb4-827c-0e199727708f.png

kill -signal PID
killall -signal PNAME
进程的执行顺序
优先级: PRI(new) = PRI(old) + nice
优先级的调整:
新执行命令指定nice值: nice -n -5 command
已存在进程调整nice值: renice -5 PID
系统资源的产看
free 查看内存使用情况
uname 查看系统与内核相关信息
uptime 查看系统启动与运行时间以及工作负载
netstat 查看网络跟踪信息 (-atulnp)
dmesg 查看内核产生的信息
vmstat 检测系统资源变化
特殊文件与程序
SUID/SGID权限命令
/proc文件系统 —— 实际在内存中,被映射为文件系统


进程管理_第3张图片
57df7e3a-e544-40fa-9490-4409901ff0a5.png

进程管理_第4张图片
298a815e-0f22-4e53-8659-562edddfb1fe.png

查询打开指定文件的程序: fuser
查询指定进程代开的文件: lsof
列出指定的正在运行进程的PID: pidof

你可能感兴趣的:(进程管理)