GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa mendapatkan waktu jam dinding dari proses yang sedang berjalan?

Untuk proses yang sedang berjalan, Anda dapat melakukan ini:

PID=5462
command ps -p "$PID" -o etime
command ps -p "$PID" --no-headers -o etime

Sebagai fitur umum, Anda dapat memodifikasi prompt shell Anda. Ini adalah definisi prompt bash saya:

TERM_RED_START=$'\033[1m\033[31m'
TERM_RED_END=$'\033(B\033[m'
PS1='\nec:$(ec=$?; if [ 0 -eq $ec ];
then printf %-3d $ec;
else echo -n "$TERM_RED_START"; printf %-3d $ec; echo "$TERM_RED_END";
fi) \t  \[email protected]\h:\w\nstart cmd:> '
PS2="cont. cmd:> "

Bagian yang relevan untuk Anda adalah \t untuk saat ini.

Ini tidak menyelesaikan semua masalah. Prompt baru akan muncul ketika proses telah berakhir tetapi prompt sebelumnya mungkin sudah cukup lama ketika perintah yang akan diukur dimulai. Jadi apakah Anda ingat untuk memperbarui prompt sebelum memulai perintah yang berjalan lama atau Anda harus mengingat waktu saat ini ketika Anda ingin mengetahui berapa lama proses saat ini akan berlangsung.

Untuk solusi lengkap, Anda memerlukan fitur audit (yang mencatat waktu mulai dan berakhirnya proses). Namun hal itu dapat menyebabkan sejumlah besar data jika tidak dapat dibatasi ke shell.


Membangun berdasarkan jawaban yang diterima, Anda juga dapat terus memantau waktu yang telah berlalu dari proses yang berjalan menggunakan watch :

PID=5462
watch command ps -p "$PID" -o etime

Linux
  1. Bagaimana Cara Melihat Output Dari Proses yang Berjalan Di Sesi Bash Lain?

  2. Bagaimana Cara Mendapatkan Tty Di Bash Yang Sedang Berjalan?

  3. Bagaimana cara mendapatkan argumen baris perintah diteruskan ke proses yang sedang berjalan pada sistem unix/linux?

  1. Bagaimana saya bisa mendapatkan status keyboard di Linux?

  2. Bisakah ID utas dari proses multithreaded sama dengan ID proses dari proses lain yang sedang berjalan?

  3. Bagaimana saya bisa mendapatkan folder temp dari mesin yang menjalankan maven?

  1. Bagaimana saya bisa mengetahui jalur absolut dari proses yang sedang berjalan?

  2. Bagaimana cara mendapatkan semua id proses yang sedang berjalan saja?

  3. Bagaimana saya bisa mengatur afinitas prosesor dari suatu proses di Linux?