chroot не должен влиять на производительность. Я не услышал ни о каком сравнительном тесте на нем, потому что это - действительно просто отображение между двумя пробелами.
Так или иначе, для Вашей проблемы, возможно, должно быть лучше использовать что-то как LXC. Вместо движущейся работы somethings можно просто создать LXC и сделать материал в этом LXC. LXC намного лучше, чем chroot и имеет действительно меньше недостатка.
Вы видите его как chroot v2.0. Насколько я знаю, это должно работы хорошо над CentOS 5. X.
Я нашел более короткий и более простой способ реализовать с Python.
Пример кода ниже.
#!/usr/bin/python
import mailbox
import email.utils
import os
mbox = mailbox.Maildir(os.environ['HOME'] + "/Maildir" )
mbox.lock()
spam = mbox.get_folder('INBOX.junk')
print "INBOX:"
for message in mbox:
print "- [%s] %s: \"%s\"" % ( message['date'], message['from'], message['subject'] )
print
print "SPAM messages:"
for message in spam:
print "- [%s] %s: \"%s\"" % ( message['date'], message['from'], message['subject'] )
mbox.close()
Вот то, что я придумал... сценарий Perl собственной разработки с помощью Почты:: Поле:: модуль Maildir CPAN.
#!/usr/bin/perl
use strict;
use Mail::Box::Maildir;
my $folder = new Mail::Box::Maildir folder=>"$ENV{HOME}/Maildir";
my $message;
my $messsages;
my $to;
my $from;
my $date;
my $subject;
print "********************************************************************************\n";
foreach $message( $folder->messages('ALL') ) {
#print $message->{'MM_head'}, "\n";
parse_header( $message->{'MM_head'} );
print " Date: $date\n";
print " From: $from\n";
print " To: $to\n";
print "Subject: $subject\n";
print "********************************************************************************\n";
}
exit 0;
sub parse_header {
my @lines = split( /\n/, shift(@_) );
undef $to;
undef $from;
undef $date;
undef $subject;
foreach ( @lines ) {
if ( /^To:\s+?(.*)$/ ) {
$to = $1;
}
elsif ( /^From:\s+?(.*)$/ ) {
$from = $1;
}
elsif ( /^Date:\s+?(.*)$/ ) {
$date = $1;
}
elsif ( /^Subject:\s+?(.*)$/ ) {
$subject = $1;
}
}
}