麒麟os打印异常需先检查cups.service是否active(running),若非运行状态则重启;再用ps或pgrep查cupsd及其子进程,结合journalctl分析cups日志定位卡死作业。

你需要确认麒麟OS中打印任务是否卡在后台、排队未处理,或想排查打印失败是否因CUPS服务异常导致,必须直接查看与打印强相关的后台进程及其运行状态。
检查CUPS打印服务是否正在运行
所有打印请求都经由CUPS(Common UNIX Printing System)服务调度,它本身就是一个systemd托管的后台进程。若该服务未运行,任何打印操作都会失败。
打开终端,执行:systemctl status cups
观察输出中第三列(激活状态)是否为 active (running);若显示 inactive (dead) 或 failed,说明打印后台已停止或崩溃,需立即重启:sudo systemctl restart cups。
注意:【cups.service 是唯一真正承担打印调度职责的系统级进程,其他如lpd、printer-daemon等在麒麟OS V10中默认不启用,强行启动反而可能冲突】
列出与打印直接关联的活跃进程
除CUPS主服务外,部分打印作业会派生子进程处理格式转换(如text → PDF)、滤镜调用(如foomatic-rip)或网络协议封装。这些进程通常以cupsd为父进程,但可能短暂存在。
方法一:用ps筛选含cups关键词的进程
执行:ps aux | grep -E 'cupsd|lpd|foomatic|gstoraster'
方法二:按父进程ID追溯(更精准)
先获取cupsd主进程PID:pgrep -f 'cupsd$'
再查其子进程:ps --ppid PID号 -o pid,ppid,comm,args(将PID号替换为上一步结果)
若输出为空,或仅剩一个cupsd主进程而无子进程,说明当前无待处理打印任务;若出现多个gstoraster或rastertoepson等进程且长时间不退出,大概率是某份文档在渲染阶段卡死。
通过CUPS日志定位卡住的打印进程
CUPS自身不暴露“打印进程ID”,但会把每个作业的处理链路写入日志,包括启动了哪些滤镜进程、耗时多久、在哪一步终止——这是判断后台是否真卡住的最可靠依据。
第一步:查看最近10条错误或警告日志
sudo journalctl -u cups -p 3 -n 10 --no-pager
第二步:追踪某个具体作业(如作业ID为872)的完整生命周期
sudo journalctl -u cups | grep -A 5 -B 5 'job-id=872'
若日志中反复出现 “filter failed”、“unable to open raster stream” 或长时间停留在 “processing job” 状态,说明对应后台处理进程已僵死,需手动清理作业队列并重启cupsd。











