You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何找出通过STDIN向远程打印机发送打印任务的进程

追踪触发打印操作的进程方案

针对你遇到的问题——编译大型项目后有进程悄悄调用lp/lpr,把控制台输出发去远程打印服务器,我整理了几个实用的方法来定位源头:

1. 临时替换lp/lpr命令为追踪脚本

这是最直接的方式,通过替换系统默认的打印命令,记录所有调用它们的进程信息:

  • 先备份原命令:
    sudo mv /usr/bin/lp /usr/bin/lp.orig
    sudo mv /usr/bin/lpr /usr/bin/lpr.orig
    
  • 创建自定义lp脚本(路径/usr/bin/lp):
    #!/bin/bash
    # 记录调用时间、进程ID、父进程ID、调用者和命令参数
    echo "$(date '+%Y-%m-%d %H:%M:%S') - PID: $$, Parent PID: $PPID, User: $(whoami), Args: $*" >> /var/log/lp-trace.log
    # 如果需要临时阻止打印,直接注释下面一行即可
    # /usr/bin/lp.orig "$@"
    
  • 同理创建/usr/bin/lpr脚本,把里面的lp.orig替换成lpr.orig,然后给脚本加执行权限:
    sudo chmod +x /usr/bin/lp /usr/bin/lpr
    

等问题再次出现后,查看/var/log/lp-trace.log就能拿到调用者的进程信息,之后记得恢复原命令:

sudo mv /usr/bin/lp.orig /usr/bin/lp
sudo mv /usr/bin/lpr.orig /usr/bin/lpr

2. 用auditd监控系统调用(更可靠,不易被绕过)

如果担心自定义脚本被绕过,可以用系统审计工具auditd来监控所有执行lp/lpr的操作:

  • 确保auditd已安装并运行:
    sudo systemctl start auditd
    sudo systemctl enable auditd
    
  • 添加监控规则,追踪执行lp/lpr的系统调用:
    sudo auditctl -w /usr/bin/lp -p x -k print-tracking
    sudo auditctl -w /usr/bin/lpr -p x -k print-tracking
    
  • 查看监控日志:
    sudo ausearch -k print-tracking
    

日志里会包含完整的进程上下文(PID、PPID、用户、命令行等),足够你定位到触发打印的根源。不需要监控时删除规则:

sudo auditctl -W /usr/bin/lp -p x -k print-tracking
sudo auditctl -W /usr/bin/lpr -p x -k print-tracking

3. 监控到远程打印服务器的网络连接

既然打印流量是发往remote-print-server.example.com,可以直接监控该服务器的连接并关联进程:

  • 用tcpdump记录流量:
    sudo tcpdump -i any host remote-print-server.example.com -nn -l | sudo tee /var/log/print-traffic.log
    
  • 同时用lsof查看当前和该服务器建立连接的进程:
    sudo lsof -i @remote-print-server.example.com:631
    

CUPS默认使用631端口,这个命令能直接找到发起连接的进程ID,进而追踪到父进程。

4. 检查项目构建配置

因为问题出现在编译大型项目之后,大概率是项目的构建脚本(Makefile、CMakeLists.txt等)或者依赖工具在执行打印操作:

  • 搜索项目代码和配置文件中的lp、lpr关键词,看看有没有隐藏的打印命令;
  • 查看编译过程的输出日志,留意有没有执行打印相关命令的痕迹;
  • 检查构建工具的插件或扩展,比如某些CI/CD插件、代码分析工具可能会默认触发打印操作。

内容的提问来源于stack exchange,提问作者pevik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:08:47