ps aux可查看所有用户进程及资源占用,是定位高负载进程的第一步;ps -ef则以标准格式显示父子关系,便于追踪进程树。

查看当前运行的程序
打开终端,直接输入 ps aux,回车后会列出所有用户启动的进程,包括PID、CPU占用、内存使用、启动命令等完整信息。这一步是排查卡顿或定位异常程序的第一步,不执行就无法知道哪个程序在后台偷偷吃资源。
ps -ef 是另一个常用选项,输出格式更简洁,适合快速扫视父子进程关系——比如你刚用 nohup python3 app.py & 启动的服务,就能一眼看到它的父进程是 bash,PID是多少。
终止指定程序
找到目标程序的 PID 后,执行 kill PID 发送默认 TERM 信号,让程序有机会优雅退出(比如保存缓存、释放端口)。这比暴力强杀安全得多。
如果程序无响应,再用 kill -9 PID 强制终止。⚠️注意:【-9 信号不可捕获、不可忽略,会跳过所有清理逻辑,可能造成数据丢失或文件损坏】,只在 kill 无效时才用。
也可以按名称批量终止,比如 killall python3 或 pkill -f "app.py",但务必确认匹配准确——误杀 nginx 或数据库进程会导致服务中断。
将程序转为后台持续运行
第一步:在命令末尾加 &,例如 ./server.sh &,程序立即转入后台,终端可继续输入其他命令。
第二步:若想断开终端后程序仍运行,必须配合 nohup 或 screen / tmux。单独用 & 时,关闭终端会向子进程发送 SIGHUP,导致程序退出。
第三步:推荐组合写法:nohup ./start.sh > log.out 2>&1 &。其中 > log.out 把标准输出重定向到文件,2>&1 把错误输出也合并进去,& 让 nohup 自身后台运行——这样关掉终端,程序和日志都稳稳保留。
实时监控程序资源占用
运行 top 进入交互式监控界面,按 CPU% 或 MEM% 列排序(分别按 P 或 M 键),能立刻识别出占用最高的程序。
想退出 top 只需按 q 键;如果只想看一次快照就返回命令行,改用 htop(需先 sudo apt install htop)或更轻量的 pidstat -p ALL 1,后者每秒刷新一次各进程的 CPU 和内存采样数据。
管理开机自启服务(systemd 方式)
麒麟V10桌面版和服务器版均采用 systemd 作为初始化系统,服务管理统一用 systemctl。
启用并立即启动某服务:sudo systemctl enable --now nginx.service。enable 是写入开机自启配置,--now 表示同时启动,两步合一,少打一次命令。
停用并立即停止:sudo systemctl disable --now ssh.service。⚠️注意:【disable 不会删除服务文件,只是取消软链接;若误操作,用 enable 可逆回】。
查看服务状态:systemctl status docker,重点看 Active 行是否为 active (running),以及日志末尾几行有没有 failed 字样——这是判断服务是否真正在工作而非“假启动”的唯一可靠依据。











