Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^3: Reading from file- not change atime

by Eliya (Vicar)
on Dec 10, 2013 at 16:44 UTC ( [id://1066463]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Reading from file- not change atime
in thread Reading from file- not change atime

... and don't want anyone to know

Note that there's also ctime, which on most current Unix systems has the semantics "inode change time", and restoring atime is considered an inode change operation. In other words, even though atime could be restored, those who "really want to know" would check ctime in this case...

#!/usr/bin/perl -w use strict; sub show_times { my ($f, $note) = @_; printf "atime=%d, mtime=%d, ctime=%d - %s\n", (stat($f))[8..10], $ +note; } my $file = shift or die $!; # save atime my ($atime, $mtime) = (stat($file))[8,9]; show_times($file, "initially"); # read from file { open my $fh, '<', $file or die $!; <$fh>; } show_times($file, "after read"); # restore atime utime($atime, $mtime, $file) or die "utime: $!"; show_times($file, "after atime restored");
$ touch somefile && sleep 2 && ./fix_accesstime.pl somefile atime=1386693000, mtime=1386693000, ctime=1386693000 - initially atime=1386693002, mtime=1386693000, ctime=1386693000 - after read atime=1386693000, mtime=1386693000, ctime=1386693002 - after atime res +tored

Note that even though atime is restored, ctime is still being updated.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1066463]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2024-04-19 07:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found