Risposte:
i file pid sono scritti da alcuni programmi per registrare il loro ID di processo durante l'avvio. Questo ha molteplici scopi:
kill
comando se si desidera terminarlo.La semplice presenza di un file pid non garantisce che quel particolare ID processo sia in esecuzione, ovviamente, quindi questo metodo non è sicuro al 100% ma "abbastanza buono" in molti casi. Controllare se un particolare PID esiste nella tabella dei processi non è totalmente portatile tra i sistemi operativi simili a UNIX a meno che non si desideri dipendere ps
dall'utilità, che potrebbe non essere desiderabile chiamare in tutti i casi (e credo che alcuni sistemi operativi simili a UNIX implementare ps
diversamente comunque).
I file di blocco vengono utilizzati dai programmi per garantire che due istanze separate (ben educate) di un programma, che possono essere in esecuzione contemporaneamente su un sistema, non accedano a qualcos'altro allo stesso tempo. L'idea è prima che il programma acceda alla sua risorsa, controlla la presenza di un file di blocco e, se il file di blocco esiste, si verifica un errore o attende che scompaia. Quando non esiste, il programma che desidera "acquisire" la risorsa crea il file e quindi altre istanze che potrebbero verificarsi in seguito attenderanno che questo processo venga completato. Naturalmente, ciò presuppone che il programma "acquisendo" il blocco lo rilasci effettivamente e non dimentichi di eliminare il file di blocco.
Questo funziona perché il filesystem con tutti i sistemi operativi simili a UNIX applica la serializzazione , il che significa che in realtà una sola modifica al filesystem avviene in un dato momento. Sorta di blocchi simili con database e simili.
Questi file sono spesso usati dai demoni che dovrebbero essere eseguiti solo una volta su un sistema. Il file PID di solito contiene il numero ID di processo del programma già avviato e in esecuzione, se presente. Inoltre, quando si avvia, crea il file di blocco. Finché esiste il file di blocco, non ne avvierà un altro senza l'intervento dell'utente. Se il file di blocco esiste e l'id di processo menzionato nel file pid non è in esecuzione, il demone è considerato in uno stato "morto", il che significa che dovrebbe essere in esecuzione ma probabilmente non è dovuto a un arresto anomalo o a un arresto improprio . Ciò potrebbe avviare uno scenario speciale di avvio / riavvio per alcuni programmi. Spegnendolo correttamente si rimuoverà il file di blocco.
Un file PID conterrà l'ID processo di un processo in esecuzione. Questo ha vari usi; puoi leggerlo e verificare che il processo sia ancora in esecuzione e intraprendere le azioni appropriate oppure leggerlo e terminare il processo.
Molto probabilmente un file di blocco è specifico dell'applicazione. I file di blocco vengono utilizzati per indicare che alcune risorse sono in uso e che il processo che richiede l'accesso deve attendere fino al rilascio della risorsa prima di continuare.
.lck
file nella directory della VM altrimenti ti dirà che è in uso quando tenti di avviarlo.