2013-07-29 39 views
-1
[email protected]:/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中,pdftoppm命令正在爲單個文件運行兩個進程

回答

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 

以下是用於命令的過程:

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是已執行的外殼命令。第二行是針對實際的pdftoppm調用。第三行是grep。 (無論您的shell命令和grep包含字符串pdftoppm,查詢時均進程列表中的一部分。)

+0

你能解釋一下多一點 – Mann

+0

@Mann把你執行的命令的腳本,而不是和執行腳本。你會發現。 – devnull

+0

..我是在Linux新手,我知道,pdftoppm是子,但我無法理解這一點。 – Mann

0

shell腳本通過system調用最有可能excuted(這是它會在C什麼)。這個系統調用調用一個命令處理器(在你的情況下是PID 25522)來解釋命令。

命令itselves是與PID 25523.

在C的exec命令家庭執行命令處理而不調用命令行解釋。

相關問題