2時間以上実行され、名前が定義されているプロセスを一覧表示する方法。私が試したことは次のとおりです。
ps -efo pid,comm,etime | grep 'process name' | awk '{print $3}'
これはソラリス用です。
または、プロセスが2時間以上実行されている場合は、プロセスIDを含む電子メールを送信するスクリプトを作成する方法を誰かが助けることができますか?
ベストアンサー1
2時間以上実行されたプロセスを見つける1つのライナー
ps -e -o pid,etimes,command | awk '{if($2>7200) print $0}'
説明する:
ps
:スナップショットコマンドの処理
-e
: すべてのプロセスを一覧表示
-o
:指定された列のみを含みます。
pid
: プロセス番号
etimes
:プロセスが開始されてから経過した時間(秒単位)。
command
: コマンドとすべての引数を文字列として
awk
: パターンスキャンと処理言語
$2
:各行の2番目のトークン(デフォルトの区切り文字はスペースの数に制限なし)
7200
:7200秒= 2時間
$0
: awkのフルライン
awk構造の基本的な作業は pattern { action }
現在行を印刷することであるため、次のように短縮できます。
ps -e -o pid,etimes,command | awk '$2 > 7200'
もっと:
man ps
man awk