【Linux基础】进程管理
2020-02-22 本文已影响0人
清梦载星河
1. 进程的概念和进程查看
进程的基本概念
度娘百科:
查看进程
- ps
- -e:不同终端所有进程
- -ef:
- -eLf:
- pstree:进程的树形结构
- top
- -p:查看指定进程。示例:
top -p 23333
,查看23333号进程的状态
- -p:查看指定进程。示例:
2. 进程的控制命令
进程的优先级调整
调整优先级
- nice:
- 范围从-20到19,值越小优先级越高,抢占资源越多
- 示例:
nice -n 10 tmp1.sh
,启动tmp1.sh程序并将优先级设置为10
- renice:重新设置优先级
- 示例:
renice -n 15 23333
,设置23333号进程的优先级为15
- 示例:
进程的作业控制
- jobs
- 查看当前终端的任务
- bg 1:将job的结果中第1号任务放置到后台
- fg 1:将job的结果中第1号任务放置到前台
- &
- 程序启动后放在后台
- Ctrl + z:将前台程序放置到后台并挂起
3. 进程的通信方式——信号
信号时进程间通信方式之一。
使用信号的常用快捷键和命令:
- Ctrl + c
- kill:
- -l:显示所有可用可用信号
- -9:直接终止
- -15:安全终止
4. 守护进程和系统日志
- 使用nohup和&配合,使程序忽略挂起信号,并放在后台。(nohup设置的进程并不是守护进程)
- 守护进程:
- 开机启动
- 目录在根目录
- 不需要终端
- 输出结果为日志文件(/var/log/)
- screen命令:
- 在终端输入screen即可进入screen环境
- 在screen环境中按
Ctrl + a, d
即可退出screen环境
- 在screen环境中按
- 终端输入screen -ls 显示screen中的程序
- 终端输入screen -r [进程号],即可回到指定进程号的进程。
- 在终端输入screen即可进入screen环境
- 常用日志文件
- message:系统一般日志
- dmesg:内核相关信息日志
- secure:安全日志
- cron:计划任务
5. 服务管理工具systemctl
常用服务管理工具:
- service:简单,简陋
- 启动脚本目录:/etc/init.d/
- systemctl:强化版service
- 启动脚本目录:/usr/lib/systemd/system/
- 常用操作:
- systemctl get-default,查看默认启动级别
- 修改默认启动级别:
- ls -l /usr/lib/systemd/system/runlevel*.target
- 加入要设置默认启动为CLI,systemctl set-default multi-user.tar
6. SELinux(安全增强Linux)简介
- 访问控制:
- 强制访问控制(MAC):将系统中所有文件添加标签,只要进程、用户、文件的标签对的上,系统就允许控制;
- 查看进程标签:
ps -Z
- 查看用户标签:
id -Z
- 查看文件标签:
ls -Z
- 查看进程标签:
- 自主访问控制(DAC):利用用户权限和文件权限把控系统
- 强制访问控制(MAC):将系统中所有文件添加标签,只要进程、用户、文件的标签对的上,系统就允许控制;
- 查看SELinux的命令:
-
getenforce
- 相关文件:/etc/selinux/config
- enforcing:强制启用
- permissive:只警告
- disable:关闭selinux
-
setenforce
:临时修改selinux的配置文件,参数为0、1或2,对应enforcing、permissive或disable - /usr/sbin/sestatus
-
- 关闭SELinux
- 由于SELinux会影响性能,所以在生产用服务器上会将SELinux关闭
- 编辑/etc/selinux/config文件,设置为disable