Go Back   Το UNIX και Linux Forums > Top Forums > Ο προγραμματισμός και η Shell Scripting
.
Google Site



Ο προγραμματισμός και η Shell Scripting Post ερωτήσεις για KSH, CSH, SH, BASH, Perl, PHP, sed, AWK ΑΛΛΑ και shell scripts και shell scripting γλώσσα εδώ.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Εργαλεία Θέματος Αναζήτηση αυτό το νήμα Βαθμολογήστε Νήμα Display Modes
  #1 (Permalink)  
Old 12-19-2005
Παίζοντας με το Ubuntu τώρα!
 

Εγγραφή: Οκτώβριος 2005
Τοποθεσία: Chennai
Μηνύματα: 368
Question αμφιβολίες reg inodes

Αγαπητέ όλες,
Έχουμε ένα αρχείο καταγραφής το οποίο είναι γραμμένο σε μια διαδικασία με φόντο τρέχει συνεχώς. Αυτό logfile μέγεθος κρατά αυξάνεται με ταχείς ρυθμούς. Ενώ προσπαθεί να χειραγωγήσουν το αρχείο, θα διαγραφεί το αρχείο από τον κατάλογο. Όμως, η διαδικασία που διατηρούνται επί του εγγράφως στο αρχείο και ο χώρος κατάλογο πήρε γεμίσει.
Σύμφωνα με inode έννοια, το αρχείο δεν αφαιρείται εντελώς μέχρι την τελευταία αναφορά στο inode πηγαίνουν.
Η ερώτησή μου είναι πώς να ανιχνεύσει αυτές τις inodes που υπάρχουν ακόμη και μετά να τα αρχεία διαγράφονται, αλλά μια διαδικασία που εργάζεται σε αυτό.
Παρακαλώ επιτρέψτε μου να ξέρω εάν δεν είμαι σαφής.
Sponsored Links
  #2 (Permalink)  
Old 12-19-2005
...@...
 

Εγγραφή: Φεβρουάριος 2004
Τοποθεσία: NM
Δημοσιεύσεις: 6119
AFAIK θα πρέπει να σταματήσει η συνεχής διαδικασία και κάντε επανεκκίνηση. Διαφορετικά ο δίσκος θα γεμίσει.

Αν δεν υπάρχει κάποιο εμπόδιο στην πορεία για το αρχείο

Κωδικός:
> path/to/file

Θα περικόψτε το αρχείο, ενώ ακόμη και το καταγραφικό γράφει σε αυτό. Γι 'αυτό και δεν παίρνουν ό, τι άλλο χειρισμούς που θα πρέπει - ίσως "ουρά -10000> anotherfile" τις τελευταίες καταχωρήσεις εάν σας χρειάζονται.
  #3 (Permalink)  
Old 12-19-2005
linuxpenguin's Avatar
Εγγεγραμμένος χρήστης
 

Εγγραφή: Μάιος 2002
Τοποθεσία: Ινδία
Μηνύματα: 326
inodes; Χμμ είναι αυτό το αρχείο που έχει ανοίξει η διαδικασία. ή είστε επαναπροσανατολισμό μόνο το αποτέλεσμα της διαδικασίας για αυτό το αρχείο. Κοιτάζοντας το σενάριο σας, θ Γίνετε είναι η διαδικασία που ανοίγει αυτό το αρχείο για γράψιμο. εάν η διαδικασία αυτή δημιουργεί, στη συνέχεια, η διαγραφή πρέπει να σταματήσει την προσθήκη στο αρχείο καταγραφής, Αν δεν το πρόγραμμά σας λαβές δημιουργία του αρχείου και πάλι, ενώ η υλοτομία. Έτσι, αν θέλετε αυτό να σταματήσει, τότε σας υλοτομία δεν θα πρέπει να έχει μια λογική να αναδημιουργήσει ένα αρχείο, εάν αυτό doesnt βρείτε ένα.
Δεύτερον, αν αποτύχει η υλοτομία, η διαδικασία θα πρέπει επίσης να κλείσει η Περιγραφέας αρχείο καταγραφής. οποία αν αφεθεί ανοιχτή μπορεί να αναδημιουργήσει το αρχείο και να γράφουν. (Αυτό εξαρτάται κυρίως από ur διαδικασία, πώς χειρίζεται αυτό το αρχείο καταγραφής)

αν είστε επαναπροσανατολισμό απλά το αρχείο καταγραφής στο αρχείο, ένας τρόπος για να σταματήσει η υλοτομία είναι chmod και chown αυτού του αρχείου καταγραφής, ώστε να υπάρχουν δικαιώματα δεν γράφουν για αυτό το αρχείο. ll τη διαδικασία σταματήσει υλοτομίας σε περαιτέρω (και πιθανώς μπορεί ακόμη να κολλήσουν )
  #4 (Permalink)  
Old 12-21-2005
Παίζοντας με το Ubuntu τώρα!
 

Εγγραφή: Οκτώβριος 2005
Τοποθεσία: Chennai
Μηνύματα: 368
Ευχαριστώ πολύ

Thanks a lot. Θα ήταν πολύ χρήσιμο. Στην πραγματικότητα είμαστε δολοφονία της διαδικασίας τώρα να χειριστεί την κατάσταση.
  #5 (Permalink)  
Old 12-21-2005
...@...
 

Εγγραφή: Φεβρουάριος 2004
Τοποθεσία: NM
Δημοσιεύσεις: 6119
chmod δεν έχει καμία επίδραση σε Περιγραφέας αρχείο που είναι ήδη ανοιχτό. Ο κώδικας θα κρατήσει εγγράφως στο αρχείο. Αυτό συμβαίνει επειδή τα δικαιώματα ελέγχου εμφανίζεται μόνο όταν η διαδικασία προσπαθεί πρώτα να ανοίξετε το αρχείο.


Κωδικός:
/* filetest.c will this keep writing after a chmod on the file mid-way? */
#include <stdio.h>
#include <stdlib.h>

#define ck(x)if((x)==1){perror("error on file");exit(EXIT_FAILURE);}
int main()
{
	FILE *out=fopen("./myfile","w");
	char tmp[32]={0x0};
	int i=0;

	for(i=0;i<1000;i++) ck(fprintf(out,"%d\n",i));
	printf("We are pausing now... push <Enter> to continue.. ");    
	fgets(tmp,sizeof(tmp),stdin);
	system("chmod 000 ./myfile");
	for(i=0;i<1000;i++) ck(fprintf(out,"%d\n",i));
    ck(fclose(out));
    printf("exiting with no errors...\n");
    return 0;
}

παραγωγή:
Απόσπασμα:
kcsdev: / home / jmcnama> cc filetest.c
kcsdev: / home / jmcnama> a.out
Είμαστε παύσεις τώρα ... push <Enter> να συνεχίσει ..
έξοδο που δεν λάθη ...
kcsdev: / home / jmcnama> LL. / myfile
---------- 1 jmcnama prog 7780 Dec 21 07:51. / Myfile
kcsdev: / home / jmcnama> wc-l myfile
WC: δεν μπορείτε να ανοίξετε myfile
kcsdev: / home / jmcnama> chmod 777 myfile
kcsdev: / home / jmcnama> wc-l myfile
2000 myfile
kcsdev: / home / jmcnama>
Sponsored Links
Closed Thread

Σελιδοδείκτες

Εργαλεία Θέματος Αναζήτηση αυτό το νήμα
Αναζήτηση αυτό το νήμα:

Advanced Search
Display Modes Βαθμολογήστε αυτό το νήμα
Βαθμολογήστε αυτό το νήμα:

Απόσπαση Κανονισμού
Εσύ δεν μπορεί να υστέρων νέα νήματα
Εσύ δεν μπορεί να μετά απαντήσεις
Εσύ δεν μπορεί να μετά συνημμένα
Εσύ δεν μπορεί να επεξεργαστείτε τις θέσεις

BB κωδικός είναι Σε λειτουργία
Smilies είναι Σε λειτουργία
[IMG] κωδικός Σε λειτουργία
Κώδικα HTML είναι Εκτός χρήσης
Trackbacks είναι Σε λειτουργία
Pingbacks είναι Σε λειτουργία
Refbacks είναι Εκτός χρήσης


Περισσότερα UNIX και Linux Forum Θέματα που μπορεί να σας Χρήσιμη
Νήμα Thread Starter Φόρουμ Απαντήσεις Τελευταίο μήνυμα
Inodes nitin09 Linux 3 05-02-2008 08:12 AM
inodes gfhgfnhhn UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις 3 10-12-2006 03:12 AM
inodes livemyway Solaris 1 01-24-2006 05:45 AM
inodes;;; soliberus Solaris 1 07-14-2005 10:46 AM
INodes ... boris888 Αρχείων, δίσκων και μνήμης 3 05-09-2002 11:21 AM



Όλες οι ώρες είναι GMT -4. Η ώρα τώρα είναι 02:26 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Γλώσσα Μεταφράσεις Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Η UNIX και Linux Φόρουμ Content Copyright © 1993-2010. Όλα τα δικαιώματα Reserved.Ad διαχείριση από RedTyger

Περιεχόμενο σχετικό με τις διευθύνσεις URL vBSEO 3.2.0