一時プロセスの完全なトップレベルのコマンドフィールドをキャプチャします。

一時プロセスの完全なトップレベルのコマンドフィールドをキャプチャします。

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-apgrep

pgrep -a pdflatext

ps出力する内容のオプションが多いを使用してこれを行うこともできます。

ps -C pdflatex -opid=,cmd= --width=400

上記の出力はpgrepコマンドと同じです(400文字に切り捨てられることを除いて変更方法が明白であると思います。)PIDが必要ない場合は、pid=,この-oオプションを無視してください。man ps他の多くの可能なオプションを参照してください。

Linuxでは、コマンドラインの最初の4096バイトのみを使用できます。コマンドラインがこれより長い場合は、切り捨てられていないコマンドラインを取得できません。

おすすめ記事