GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mencetak konten di pekerjaan?

Solusi 1:

at -c jobnumber akan mencantumkan satu pekerjaan. Jika Anda ingin melihat semuanya, Anda dapat membuat skrip seperti

#!/bin/bash
MAXJOB=$(atq | head -n1 | awk '{ print $1; }')
for each in $(seq 1 $MAXJOB); do echo "JOB $each"; at -c $each; done 

Mungkin ada cara yang lebih singkat untuk melakukan itu, saya baru saja mengeluarkannya dari kepala saya :)

Solusi 2:

Berdasarkan tanggapan sebelumnya, ini mencantumkan setiap baris pekerjaan dari atq menampilkan nomor pekerjaan dan waktu yang dijadwalkan, kemudian hanya perintah yang akan dijalankan, diurutkan secara kronologis (bukan nomor pekerjaan):

for j in $(atq | sort -k6,6 -k3,3M -k4,4 -k5,5 |cut -f 1); do atq |grep -P "^$j\t" ;at -c "$j" | tail -n 2; done

memproduksi, mis.

48  Fri Mar 10 15:13:00 2017 a root
/usr/local/bin/a-command

47  Fri Mar 10 15:14:00 2017 a root
/usr/local/bin/another-command

Solusi 3:

Pendekatan yang jauh lebih sederhana:

for j in $(atq | cut -f 1); do at -c "$j"; done

Anda juga dapat melihat masing-masing di less pada gilirannya, yang mungkin lebih jelas:

for j in $(atq | cut -f 1); do at -c "$j" | less; done

Solusi 4:

Saya telah membuat perintah atqc untuk ini ("atq dengan perintah"). Fungsi bash. Jalankan ini di baris perintah bash (perintah terminal). Atau taruh di ~/.bashrc file agar tersedia untuk nanti:

atqc () { atq|perl -ne'($q,$j)=/((\d+).*)/;qx(at -c $j)=~/(marcinDEL\w+).\n(.*?)\n\1/s;print"$q $2"'; }

Ujilah:

atqc

Itu berfungsi untuk RHEL7 dengan at -V versi 3.1.13.

Ubuntu 16.04 dengan at -V versi 3.1.18 memiliki format keluaran yang sedikit berbeda di at -c N , jadi di server Ubuntu saya ini berfungsi:

atqc(){ atq|perl -nE'($q,$j)=/((\d+).*)/;qx(at -c $j)=~/\n}\n(.*?)\s*$/s;say"$q: $1"';}

Linux
  1. Cara Mencetak File JSON dengan Cantik di Terminal Linux

  2. Cara mencetak pthread_t

  3. Bagaimana cara mendapatkan ID proses dari proses latar belakang?

  1. Bagaimana cara mengekstrak isi rpm?

  2. Bagaimana cara mendapatkan ps untuk mencetak grup?

  3. Bagaimana saya bisa membunuh semua pekerjaan yang dihentikan?

  1. Cara Melihat Isi File Terkompresi di Linux

  2. Cara Menjadwalkan Pekerjaan Cron dengan Crontab

  3. Bagaimana cara mencetak nomor di perakitan NASM?