COMMAND
コマンドフィールドに完全なプロセス名をキャプチャする必要がありますtop
。私が興味のあるプロセスは2〜5秒間しか持続しません。私は次のように試しました。
top -c | grep
しかし、動作しません。どんな提案がありますか?
以下はCOMMAND
フィールド出力ラインの例ですtop -c
。
pdflatex /results/analysis/output/Home/20180612-3_116/report.tex -output-directory /results/analysis/output/Home/20180612-3_116 -interaction+
画面幅の制限により、-intercation+ 以降の内容が切り捨てられます。
答え1
可能であれば、pgrep
この-a
オプションと組み合わせて使用してください。 (インストールされていない場合はpgrep
パッケージにあります。)印刷パラメータを指定すると、デフォルトでPIDのみが印刷されます。procps
-a
pgrep
pgrep -a pdflatext
ps
出力する内容のオプションが多いを使用してこれを行うこともできます。
ps -C pdflatex -opid=,cmd= --width=400
上記の出力はpgrep
コマンドと同じです(400文字に切り捨てられることを除いて変更方法が明白であると思います。)PIDが必要ない場合は、pid=,
この-o
オプションを無視してください。man ps
他の多くの可能なオプションを参照してください。
Linuxでは、コマンドラインの最初の4096バイトのみを使用できます。コマンドラインがこれより長い場合は、切り捨てられていないコマンドラインを取得できません。