美文网首页Linux学习
Linux 进程管理

Linux 进程管理

作者: Manfestain | 来源:发表于2020-03-26 19:42 被阅读0次
    1. 在Linux中,每个执行程序(代码)都称为一个进程,每个进程都分配一个ID号。
    2. 每一个进程都有一个父进程,而这个父进程可以复制多个子进程(例如www服务器)。
    3. 每个进程都可能以两种方式存在:前台后台。前台进程就是用户目前屏幕上可以进行操作的;后台进程则是实际在操作的,但由于屏幕上无法看到的进程,通常使用后台方式执行。
    4. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

    1. 显示系统执行的进程

    ps:查看目前系统中有哪些正在执行,以及它们的执行情况。

    • 命令选项:
      -a:显示当前终端所有进程信息
      -u:以用户的格式显示进程信息
      -x:显示后台进程运行的参数
    • 显示的信息选项:
      PID:进程识别号
      TTY:终端机号
      TIME:此进程消耗CPU时间
      CMD:正在执行的命令或进程名
    • 查看某个服务的进程:ps -aux | grep xxx
      例如:查看有没有sshd服务 ---> ps -aux | grep sshd
    • 查看某个进程的父进程:ps -ef | more
      PPID:表示父进程编号,0表示没有父进程

    2. 终止进程

    kill [选项] 进程号:通过进程进程号杀死进程
    -9:表示强迫进程立即停止

    killall 进程名称:通过进程名称杀死进程,支持通配符

    应用实例:

    • 踢掉某个非法登录的用户
      ps -aux | grep sshd
      kill 用户进程ID
    • 终止远程登录服务,在适当的时候再启用sshd服务
      ps -aux | grep sshd
      kill sshd进程ID
    • 终止多个gedit编辑器
      killall gedit
    • 强制杀掉一个进程
      kill -9 终端进程ID

    查看进程树

    pstree [选项]:查看进程个父进程
    -p:显示进程的PID
    -u:显示进程的所属用户


    3. 服务(service)管理

    服务本质就是进程,但是是在后台运行的,通常都会监听某个端口,等待其它进程的请求(例如mysql、sshd和防火墙等),因此又被称为守护进程

    service 服务名 [start | stop | restart | reload | status]

    在CentOS7.0以后,不再使用service,而是使用systemctl

    • 关闭或启用防火墙后立即成效(可以使用telnet ip 端口测试某个端口的可用性)。
    • 这种方式是临时生效,系统重启后会恢复至强的设置。
    • 如果希望永久生效,使用chkconfig指令。

    查看所有服务

    • 使用setup指令查看
    • 查看/etc/init.d/文件 ---> ls -l /etc/init.d/

    修改服务的运行级别

    编辑vi /etc/inittab

    chkconfig指令

    通过chkconfig命令可以给各个运行级别设置自启动/关闭

    • chkconfig --list | grep xxx:查看服务xxx的状态
    • chkconfig 服务名 --list:等价于上面
    • chkconfig --level 5 服务名 [on/off]:给某个服务的运行级别设置自启动

    在所有运行级别下关闭防火墙 ---> chkconfig iptables off
    chkconfig重新设置后需要reboot机器。


    4. 动态监控进程

    topps指令类似,都是用来显示正在执行的进程。top与ps的不同之处在于top在执行一段时间可以更新正在运行的进程。
    基本格式:top [选项]
    -d 秒数:指定top命令每隔几秒更新
    -i:使top不显示任何闲置或者僵死的进程
    -p:通过制定ID来仅仅监控某个进程的状态
    交互指令:
    P:以CPU使用率排序(默认)
    M:以内存的使用率排序
    N:以PID排序
    q:退出top


    5. 查看系统网络情况

    netstat [选项]
    -an:按照一定顺序排列
    -p:显示那个进程在调用

    查看服务名为sshd的服务信息 ---> netstat -anp | grep sshd

    相关文章

      网友评论

        本文标题:Linux 进程管理

        本文链接:https://www.haomeiwen.com/subject/vmaquhtx.html