【问题标题】:In Linux,pdftoppm command is running two processes for single file在 Linux 中,pdftoppm 命令正在为单个文件运行两个进程
【发布时间】:2013-07-29 07:10:43
【问题描述】:
root@test:/var/lib/tomcat/webapps/logs# ps aux | grep ppm
root     25522  0.0  0.0   1844   500 ?        SN   14:13   0:00 sh -c /bin/bash -c "pdftoppm -f 1 -l 1 /pdf/input.pdf test/processing/output"
 root     25523 49.6  0.7  18192 12620 ?        RN   14:13   0:59 pdftoppm -f 1 -l 1 /pdf/input.pdf /test/processing/output
root     25539  0.0  0.0   2016   636 ?        R+   14:15   0:00 grep ppm

我不熟悉这个命令。为什么有两个进程在运行我不明白。

【问题讨论】:

    标签: linux pdf ppm


    【解决方案1】:

    这些不是两个pdftoppm 进程。以下是pdftoppm进程:

    root     25523 49.6  0.7  18192 12620 ?        RN   14:13   0:59 pdftoppm -f 1 -l 1 /pdf/input.pdf /test/processing/output
    

    shell命令的流程如下:

    root     25522  0.0  0.0   1844   500 ?        SN   14:13   0:00 sh -c /bin/bash -c "pdftoppm -f 1 -l 1 /pdf/input.pdf test/processing/output"
    

    grep 输出中的第一行是执行的 shell 命令。第二行是实际的pdftoppm 调用。第三行是grep。 (您的 shell 命令和grep 都包含字符串pdftoppm,在查询时它是进程列表的一部分。)

    【讨论】:

    • 你能解释一下吗
    • @Mann 将您执行的命令放在脚本中并执行该脚本。你会想到的。
    • ..我是linux新手,我知道,pdftoppm是子进程,但我无法理解。
    【解决方案2】:

    shell 脚本很可能通过system 调用执行(在c 中就是这样)。此系统调用调用命令处理器(在您的情况下为 PID 25522)来解释命令。

    命令本身就是 PID 25523 的进程。

    在 C 中,exec 命令系列执行命令而不调用命令行解释器。

    【讨论】:

      猜你喜欢
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 2012-02-25
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多