GNU/Linux >> Linux Esercitazione >  >> Linux

Come determinare quale processo sta creando un file?

Questa domanda ha già risposte qui :È possibile scoprire quale programma o script ha creato un determinato file?

(6 risposte)
Chiuso 4 anni fa.

Dato il percorso del file, come posso determinare quale processo lo crea (e/o lo legge/scrive)?

Risposta accettata:

Il lsof comando (già menzionato in diverse risposte) ti dirà quale processo ha un file aperto nel momento in cui lo esegui. lsof è disponibile per quasi tutte le varianti di Unix.

lsof /path/to/file

lsof non ti parlerà di file che sono stati aperti due microsecondi fa e chiusi un microsecondo fa. Se hai bisogno di guardare un particolare file e reagire quando si accede, hai bisogno di strumenti diversi.

Se puoi pianificare con un po' di anticipo, puoi mettere il file su un LoggedFS filesystem. LoggedFS è un filesystem in pila FUSE che registra tutti gli accessi ai file in una gerarchia. I parametri di registrazione sono altamente configurabili. FUSE è disponibile su tutte le principali unice. Ti consigliamo di registrare gli accessi alla directory in cui è stato creato il file. Inizia con il file di configurazione di esempio fornito e modificalo in base a questa guida.

loggedfs -l /path/to/log_file -c /path/to/config.xml /path/to/directory
tail -f /path/to/log_file

Molti unice offrono altre strutture di monitoraggio. Sotto Linux, puoi usare il relativamente nuovo sottosistema di controllo. Non c'è molta letteratura a riguardo (ma più che su logfs); puoi iniziare con questo tutorial o alcuni esempi o semplicemente con auditctl pagina man. Qui dovrebbe essere sufficiente assicurarsi che il demone sia avviato, quindi eseguire auditctl :

auditctl -w /path/to/file

(Penso che i sistemi più vecchi necessitino di auditctl -a exit,always -w /path/to/file ) e guarda i log in /var/log/audit/audit.log .


Linux
  1. Come determinare quale processo sta scrivendo su disco in Linux

  2. Come reindirizzare l'output di un processo già in esecuzione

  3. Come grep \n nel file

  4. Come scoprire quale processo sta usando un file in Linux?

  5. Come posso sapere quale processo sta usando lo scambio?

Comando file Linux:come determinare il tipo di file in Linux

Come determinare il tipo MIME di un file in Linux

Come eliminare un file il cui nome file ha caratteri non stampabili?

Come identificare un processo che non ha Pid?

Come usare il comando lsof in Linux

Trova quale processo sta modificando un file