Jika Anda hanya ingin merangkum keluaran dari squeue
, bagaimana dengan:
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]
}
}'
yang menghasilkan sesuatu seperti:
R (Running) 1
PD (Pending) 4
Penjelasan:
job state
diasumsikan berada di kolom ke-5 sesuai dengan format defaultsqueue
.- Kemudian skrip menghitung tampilan setiap kode status pekerjaan kecuali untuk baris pertama yang menyertakan tajuk.
- Akhirnya melaporkan jumlah setiap kode status pekerjaan.
Untuk memudahkan, tambahkan baris berikut ke .bash_aliases
Anda atau .bashrc
(nama file mungkin bergantung pada sistem):
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]
}
}'
}
Kemudian Anda dapat menjalankan perintah hanya dengan summary [option]
, di mana [option]
menerima opsi untuk squeue
jika diperlukan (kebanyakan tidak perlu).
Semoga ini bisa membantu.
Saya akan mengartikan "perintah cepat" secara berbeda. Selain itu saya akan menambahkan -r untuk kasus ketika Anda menggunakan array pekerjaan:
squeue -u <username> -h -t pending,running -r | wc -l
opsi -h menghapus tajuk "wc -l" (jumlah kata) menghitung baris keluaran. Akhirnya saya menggunakannya dengan jam tangan
watch 'squeue -u <username> -h -t pending,running -r | wc -l'
Mengapa Slack mengembalikan kesalahan Segmentasi setelah pemutakhiran Fedora 29?
Rakitan referensi untuk framework .NETFramework,Version=v4.7.1 tidak ditemukan