Process
系统
btop 状态总览
screenfetch 配置
Process
ps -aux 查看所有进程
ps -aux | grep [关键字] 查看包含关键字的进程
ps -p [PID] 查看指定进程
ps -u [USER] 查看指定用户的进程
| USER | PID | %CPU | %MEM | VSZ(KB) | RSS(KB) | TTY | STAT | START | TIME | COMMAND |
|---|---|---|---|---|---|---|---|---|---|---|
| 进程所有者的用户名 | 进程 ID | CPU 使用率 | 内存使用率 | 虚拟内存大小 | 常驻内存集大小 | 终端类型 | 进程状态 | 启动时间 | 进程使用的 CPU 时间 | 启动该进程的命令行 |
-
STAT:-
S睡眠:等待事件(等待 I/O ) -
s领导:具有子进程 -
+前台进程 -
R运行 -
l多线程,克隆线程 -
L有些页被固定在内存中,不允许交换到磁盘 -
D不可中断的睡眠:等待事件完成(正在进行 I/O ) -
Z僵尸:进程已经终止,但是父进程还没有回收
-
ps -ef 多了一个 ppid 父进程 ID
ps -ef --forest 查看进程树
pstree 查看进程树
kill -9 [PID] 杀死进程,-9 是强制杀死
pkill -9 [进程名] 杀死进程
killall -9 [进程名] 杀死同名进程
守护进程
-
刷新
sudo systemctl daemon-reload -
重置失败状态
sudo systemctl reset-failed -
查看部分在运行的服务
systemctl list-units --type=service --state=running | grep srv -
查看设置开机启动的服务
systemctl list-unit-files --type=service | grep enabled | grep srv -
一个简单的守护进程模板
INI 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# /etc/systemd/system/xxx.service [Unit] Description=xxx # 服务描述 After=network.target # 在网络启动后启动 [Service] Type=simple # 简单类型 User=root # 运行用户 Group=root # 运行用户组 WorkingDirectory=/root # 工作目录 ExecStart=python3 xxx.py # 启动命令 Restart=always # 总是重启 RestartSec=10 # 重启间隔时间 TimeoutStopSec=60 # 停止超时时间 [Install] WantedBy=multi-user.target # 多用户模式启动