The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > UNIX for Dummies Domande & Risposte
.
google unix.com



UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto!

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
"sed" per verificare le dimensioni del file & echo "" per file di destinazione jockey007 Shell scripting e di programmazione 7 04-28-2009 02:08 AM
Come faccio a sostituire "(", "\" "+" in un file mail2sant Shell scripting e di programmazione 3 04-22-2008 11:10 PM
Comunicati di sviluppo: Linux Mint 4.0 Beta "Fluxbox", 4.0 Alpha "Debian" iBot UNIX e Linux RSS News 0 01-04-2008 03:00 PM
Spiegare la linea "mn_code \u003d` env | grep ".. mn" | awk-F "\u003d" '(print $ 2)' `" Lokesha UNIX for Dummies Domande & Risposte 4 12-20-2007 01:52 AM
N. utpmx ingresso: è necessario eseguire la voce "login" dal livello più basso "guscio" peterpan UNIX for Dummies Domande & Risposte 0 01-18-2006 04:15 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 04-25-2007
Percy Percy is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2007
Interventi: 14
"VI"-zione costantemente aggiornato file

Salve,

Un po 'di uno stupido questione. Sorry folks.

Supponiamo che ho questo file che viene aggiornato a intervalli irregolari (pochi secondi, a pochi minuti, chi lo sa) da parte di un processo di sfondo.

I 'VI'Questo file con l'intenzione di modificare, in modo tale che si apre un temp copia come di consueto / tmp/720cwhatever

Ora supponiamo che, mentre ho aperto questo file, il suo aggiornamento più volte da sfondo processo.

Faccio mie modifiche, salvare, uscire.

Cosa succede al aggiornamenti che sono state fatte da sfondo il processo nel corso del tempo ho avuto il file aperto?


Come faccio a mitigare questo?
(purtroppo, l'arresto del processo di sfondo non è una opzione).


Il file è anche abbastanza grande (circa 40MB), in modo che si VI pochi secondi per caricare il sistema, a salvare ecc ....


Unix è ksh.
OS è SunOS.

Hope you guys può aiutare! - Grazie in anticipo!
  #2 (permalink)  
Old 04-25-2007
sysgate's Avatar
sysgate sysgate is offline Forum Advisor  
Unix basati
  
 

Iscriviti Data: novembre 2006
Location: Bulgaria
Messaggi: 1.322
Gli aggiornamenti da sfondo processo non sono perso, la domanda è: che cosa succede quando si sta per fare "salva e chiudere" - vi sarà chiesto di messaggio che il file originale è cambiato: non si desidera salvare comunque?
L'altra cosa è quando qualcuno sta cercando di VI lo stesso file aperto da voi - egli verrà visualizzato un messaggio:

Citazione:
E325: ATTENZIONE
Trovato uno swap file di nome ". Temp.txt.swp"
di proprietà di: sysgate in data: mercoledì 25 apr 17:29:23 2007
il nome del file: ~ sysgate / temp.txt
modificato: no
nome utente: sysgate nome host: $ myhost
ID del processo: 30240 (tuttora in corso)
Anche se l'apertura del file "temp.txt"
data: mercoledì 25 apr 17:27:07 2007

(1) Un altro programma può essere la modifica del file stesso.
Se questo è il caso, fare attenzione a non finire con i due
istanze diverse dello stesso file in cui effettuare delle modifiche.
Esci, o continuare con cautela.

(2) Una sessione per modificare questo file si è bloccato.
Se questo è il caso, l'uso ": il recupero" o "vim-r temp.txt"
per recuperare le modifiche (vedi ": help di recupero").
Se già avete fatto questo, eliminare il file di swap ". Temp.txt.swp"
per evitare questo messaggio.

File di scambio ". Temp.txt.swp" esiste già!
[O] penna Read-Only, (E) dit comunque, (R), Ecover, (Q) uit, (A) BORT:
, ma suppongo che si intende di file di log di grandi dimensioni, in modo che la soluzione può variare a seconda di cosa esattamente si vuole fare.
  #3 (permalink)  
Old 04-25-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2007
Localizzazione: Bahia, Brasile
Interventi: 695
Percy, sysgate notare come, la tua soluzione dipenderà su cosa
che si desidera aggiornare il file.
E 'veramente necessario "VI"Il file?
Potrebbe essere scritta una shell di fare gli aggiornamenti che si desidera?
  #4 (permalink)  
Old 04-25-2007
Percy Percy is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2007
Interventi: 14
OK cheers guys!

Un po 'più di informazioni:

Che cosa voglio fare è questa:

Si tratta di un grande file, piena di nomi di file e un hashcode per ogni file.
ogni riga del file è
il nome del file, data, hashcode
il nome del file, data, hashcode
...

In ogni caso, un file in modo entra in un server, riceve un hashcode che viene poi messo in questa grande miniera di file di log, e poi il file viene trasformato.

Se il file è inviato nuovamente al server, la sua hashcode è controllato e, se esiste (ad esempio, il mio processo ha già affrontato) si occupa con il file appropriato.

Vengo scollarsi, quando ho bisogno di rielaborare lo stesso file di nuovo - così ho bisogno di modificare il file di log di grandi dimensioni e rimuovere la voce (tutta la linea - il nome, la data, hashcode) in modo che possa di nuovo attraverso i mangimi.


Scrivi una sh per affrontare questo? - Non è sicuro - la sua una di quelle in cui si verifica spesso, ma spesso non basta a giustificare un sh .... ma la sua qualcosa Penso potrebbe esaminare.


Un altra cosa:

Supponiamo che due persone sudos ad un utente (lo stesso utente), prima, e poi le modifiche del file - non si ottiene il messaggio sul file cambiando quando si salva / uscire a destra? - Almeno questo è quello che sembra accadere qui in Bizarro mondo ...
  #5 (permalink)  
Old 04-25-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2007
Localizzazione: Bahia, Brasile
Interventi: 695
Percy,
Ecco una possibile soluzione:
1) Rinominare il "work_file" ad una "tmp_file" immediatamente e creare un
nuovo "work_file" in modo che le nuove registrazioni, possono continuare ad essere aggiunto ad essa.
Codice:
mv  work_file  tmp_file
touch  work_file
2) "VI"Il" tmp_file "e fare tutte le modifiche desiderate.

2.a) Quando si è finito con le modifiche in merito alla "tmp_file",
non chiudere ancora.

2.b) Vai alla fine del "tmp_file" e nella riga di comando digitare:
Codice:
:r work_file
Questo permette di leggere la "work_file" interamente e luogo dopo l'ultima riga
di "tmp_file".

2.c) Scrivere e chiudere il "tmp_file".
Come si dice il file è molto grande, se si tenta di salvare l'area di lavoro
come "work_file", esso può richiedere molto tempo e utilizzo di un lotto di memoria
e lo spazio su disco.

3) Immediatamente rinominare "tmp_file" torna a "work_file".
Codice:
mv  tmp_file  work_file
Vedi se questo potrebbe lavorare per voi.
  #6 (permalink)  
Old 04-26-2007
Percy Percy is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2007
Interventi: 14
La ringrazio per questo.

C'è ancora la possibilità di lievi mancanti aggiunte al file di log tra i passaggi 2 quater e 3 - e principalmente a causa della sua rapida come posso tipo "mv file file2" - in un panico, probabilmente più tempo che colpisce il fatto che il backspace comandi digitando correttamente.

La sua migliore catcher sicuramente uno dei commenti che la soluzione che avevo in mente - in modo molto, grazie!
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 10:44 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0