开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情
进程的概念与进程查看
- 进程——运行中的程序,从程序开始运行到终止的整个生命周期是可管理的
- C语言的启动是从main函数开始的
int main(int agrc,char*argv[])
终止方式并不唯一,分为正常终止和异常终止
正常终止也分为从main返回,调用exit等方式
异常终止分为调用abort,接收信号等 - 查看命令
- ps
ps查看当前终端下运行的进程
ps -e查看所有终端下运行的进程
ps -ef | more
UTD:有效用户ID PPID:父进程ID
ps -eLf | moreLWP:轻量级进程(线程)
- pstree
pstree | more - top
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
- 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