squeue
の出力を要約したいだけなら 、いかがですか:
squeue -u <username> | awk '
BEGIN {
abbrev["R"]="(Running)"
abbrev["PD"]="(Pending)"
abbrev["CG"]="(Completing)"
abbrev["F"]="(Failed)"
}
NR>1 {a[$5]++}
END {
for (i in a) {
printf "%-2s %-12s %d\n", i, abbrev[i], a[i]
}
}'
次のような結果が得られます:
R (Running) 1
PD (Pending) 4
説明:
job state
squeue
のデフォルト形式に従って、5 番目のフィールドにあると想定されます .- 次に、スクリプトは、ヘッダーを含む最初の行を除いて、各ジョブ状態コードの出現をカウントします。
- 最後に、各ジョブ状態コードの数を報告します。
便利にするために、次の行を .bash_aliases
に追加します または .bashrc
(ファイル名はシステムによって異なる場合があります):
function summary() {
squeue "[email protected]" | awk '
BEGIN {
abbrev["R"]="(Running)"
abbrev["PD"]="(Pending)"
abbrev["CG"]="(Completing)"
abbrev["F"]="(Failed)"
}
NR>1 {a[$5]++}
END {
for (i in a) {
printf "%-2s %-12s %d\n", i, abbrev[i], a[i]
}
}'
}
次に、 summary [option]
だけでコマンドを呼び出すことができます 、ここで [option]
squeue
までのオプションを受け入れます 必要に応じて (ほとんど不要)。
これがお役に立てば幸いです。
「クイックコマンド」を別の方法で解釈します。さらに、ジョブ配列を使用している場合は -r を追加します:
squeue -u <username> -h -t pending,running -r | wc -l
オプション -h はヘッダーを削除します "wc -l" (ワード カウント) は出力の行をカウントします。最終的には watch で使用しています
watch 'squeue -u <username> -h -t pending,running -r | wc -l'
Fedora 29 のアップグレード後に Slack がセグメンテーション違反を返すのはなぜですか?
フレームワーク .NETFramework,Version=v4.7.1 の参照アセンブリが見つかりませんでした