GNU/Linux >> Belajar Linux >  >> Linux

Daftar File yang Diakses Oleh Program?

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


Linux
  1. Basa'?

  2. Bagaimana Cara Menyesuaikan Bash Autocomplete Untuk Mencantumkan File Di Direktori Lain?

  3. Loop Melalui Folder Dan Daftar File?

  1. Perintah mana yang digunakan untuk mengurutkan daftar file/folder berdasarkan waktu?

  2. Perintah Linux ls - Daftar File

  3. Bagaimana saya bisa mendaftar (ls) 5 file terakhir yang dimodifikasi dalam direktori?

  1. Salin file di terminal Linux

  2. Cara mendaftar Pohon Perangkat kernel

  3. Definisi variabel TEXINPUTS