time
adalah perintah yang brilian jika Anda ingin mengetahui berapa lama waktu CPU yang dibutuhkan oleh perintah tertentu.
Saya mencari sesuatu yang serupa yang dapat membuat daftar file yang sedang diakses oleh suatu program dan anak-anaknya. Baik secara real time atau sebagai laporan setelahnya.
Saat ini saya menggunakan:
#!/bin/bash
strace -ff -e trace=file "[email protected]" 2>&1 | perl -ne 's/^[^"]+"(([^\"]|\[\"nt])*)".*/$1/ && print'
tetapi gagal jika perintah yang dijalankan melibatkan sudo
. Itu tidak terlalu cerdas (alangkah baiknya jika hanya dapat membuat daftar file yang ada atau yang memiliki masalah izin atau mengelompokkannya ke dalam file yang dibaca dan file yang ditulis). Juga strace
lambat, jadi akan lebih baik dengan pilihan yang lebih cepat.
Jawaban yang Diterima:
Saya menyerah dan mengkodekan alat saya sendiri. Mengutip dari dokumennya:
SYNOPSIS
tracefile [-adefnu] command
tracefile [-adefnu] -p pid
OPTIONS
-a List all files
-d List only dirs
-e List only existing files
-f List only files
-n List only non-existing files
-p pid Trace process id
-u List only files once
Itu hanya menampilkan file sehingga Anda tidak perlu berurusan dengan output dari strace
.
https://gitlab.com/ole.tange/tangetools/tree/master/tracefile