Linux进程管理

本文详细介绍了Linux下的进程概念,强调进程是操作系统分配资源的基本单位,具有动态性、生命周期和并发性。阐述了进程与线程的区别,并详细描述了进程的生命周期,包括创建、运行、结束和父进程的角色。最后,列举了一些常用的Linux进程管理工具,如pstree、ps、pgrep和top,帮助读者更好地管理和监控系统进程。
摘要由CSDN通过智能技术生成

1. 程序

程序是指令及参数的集合,按照既定的逻辑控制计算机运行完成特定的任务

  • 程序是静态的,不具有任何的运动意义
  • 程序是封闭的

2. 进程

进程是指运动中的程序,是操作系统执行的基本单位,是程序的运行过程

  • 是动态的,具有生命周期的,是一个运动状态
  • 从操作系统的核心看,进程是操作系统分配内存,cpu时间片等资源的基本单位(最小单位)
  • 每一个进程都有独立的地址空间和执行状态
  • 每一个进程对应着一个程序,而相同的程序在不同的数据集上运行就是不同的进程
  • 进程具有并发性和交互性

进程与线程的区别

  • 一个进程可以拥有多个线程,而一个线程同时只能被一个进程所拥有
  • 线程不能单独执行,但每一个线程都有程序的入口,执行序列以及程序出口,只有组成进程了才能够被执行

3. 进程生命周期

父进程复制自己的地址空间,创建一个新的(子)进程结构,每个进程分配唯一的进程ID (PID),满足跟踪安全性的需求。

PID和父进程ID(PPID)都是子进程的元素。每一个进程都可以创建子进程,所有的进程都是第一个系统进程的子进程。

Centos6:第一个进程 —— init

Centos7:第一个进程—— systemd

子进程是友父进程所产生的进程。在Linux系统,使用系统调用fock创建进程。fock复制:父进程的数据和堆栈段及父进程的进程环境。子进程继承父进程的安全性身份,过去及当前的文件描述符,端口和资源特权,环境变量,以及程序代码。之后,子进程也可以运行自己的程序代码。在子进程运行的时间段,父进程进入sleeping状态,当子进程运行结束,发出exit信号时,会关闭或丢弃其资源环境(剩余的部分称为Zombie),同时也会唤醒父进程,父进程会清理剩余的结构,然后继续运行。当父进程终止,子进程也会终止。

4. Linux进程管理工具

pstree :查看进程之间的关系,进程树

  • -A :各进程之间的链接以ASCII码字符来链接
  • -u :各进程之间的链接用uft-8来链接,若是终端不支持uft-8,则会出现乱码
  • -p :列出进程PID
  • -u :列出所属账号名称
若是没有此命令运行:
[root@host ~]# yum provides pstree      #查找pstree此命令的包
'''
psmisc-22.20-16.el7.x86_64 : Utilities for managing processes on your system
源    :@base
匹配来源:
文件名    :/usr/bin/pstree

[root@host ~]# yum install psmisc       #安装此包
'''
[root@host ~]# pstree                   #同-U,默认
systemd─┬─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─VGAuthService
        ├─agetty
        ├─atd
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───6*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd─┬─sshd───bash───pstree
        │      └─sshd───sftp-server
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─vmtoolsd───{vmtoolsd}
[root@host ~]# pstree -A
systemd-+-NetworkManager-+-dhclient
        |                `-2*[{NetworkManager}]
        |-VGAuthService
        |-agetty
        |-atd
        |-auditd---{auditd}
        |-crond
        |-dbus-daemon---{dbus-daemon}
        |-firewalld---{firewalld}
        |-lvmetad
        |-master-+-pickup
        |        `-qmgr
        |-polkitd---6*[{polkitd}]
        |-rsyslogd---2*[{rsyslogd}]
        |-sshd-+-sshd---bash---pstree
        |      `-sshd---sftp-server
        |-systemd-journal
        |-systemd-logind
        |-systemd-udevd
        |-tuned---4*[{tuned}]
        `-vmtoolsd---{vmtoolsd}
[root@host ~]# pstree -p
systemd(1)─┬─NetworkManager(6807)─┬─dhclient(8451)
           │          
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值