linux进程管理

110 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

进程的概念与进程查看

  • 进程——运行中的程序,从程序开始运行到终止的整个生命周期是可管理的
  • C语言的启动是从main函数开始的
    int main(int agrc,char*argv[])
    终止方式并不唯一,分为正常终止和异常终止
    正常终止也分为从main返回,调用exit等方式
    异常终止分为调用abort,接收信号等
  • 查看命令
  • ps
    ps查看当前终端下运行的进程
    ps -e查看所有终端下运行的进程
    ps -ef | more
    image.png UTD:有效用户ID PPID:父进程ID
    ps -eLf | more image.png LWP:轻量级进程(线程)
  • pstree
    pstree | more image.png
  • top image.png top里的属性
    当前系统从最近一次开机到现在的时间
    2users:当前系统有2个用户登录
    load average :平均负载,用来衡量系统的繁忙程度
    task:运行进程的数量
    %Cpu(s):cpu的使用比例,s指平均值
    us:用户状态 sy:进程状态的交互 id:空闲状态 wa:等待状态
    Mem:内存 buff/cache读写缓存
    Swap:交换分区,也叫虚拟内存
  • 结论
  • 进程也是树形结构
  • 进程和权限有着密不可分的关系

进程的控制命令

进程的优先级调整

  • 调整优先级
  • nice范围从-20到19,值越小优先级越高,抢占资源就越多
  • renice重设优先级
  • 进程的作业控制
  • jobs
  • &符号

进程的通信方式——信号

信号是进程间通信方式之一,典型用法是:终端用户输入中断命令,通过信号机制停止一个程序的运行。

  • kill -l image.png
  • SIGINT 通知前台进程组阻止进程 ctrl+c
  • SIGKILL立即结束程序,不能被阻塞和处理kill -9 pid

守护进程和系统日志

  • 使用nohup与&符号配合运行一个命令
  • nohup命令使进程忽略hangup(挂起)信号
  • 使用screen命令
  • screen进入screen环境
  • ctr+a d 退出(detached)screen 环境
  • screen -ls 查看screen的对话
  • screen -r sessioned恢复对话

服务管理工具systemctl

  • 服务(提供常见功能的守护进程)集中管理工具
  • service
  • systemctl

SELinux:安全增强的linux版本

  • MAC(强制访问控制)与DAC(自主访问控制)
  • 查看SELinux的命令
  • getenforce
  • /usr/sbin/sestatus
  • ps -Z and ls -Z and id -Z
  • 关闭SELinux
  • setenforce 0
  • /etc/selinux/sysconfig