トップページ > プログラム > 2015年12月08日 > MH5dvwqp

書き込み順位&時間帯一覧

51 位/142 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000011



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Perlについての質問箱 64箱目 [転載禁止]©2ch.net

書き込みレス一覧

Perlについての質問箱 64箱目 [転載禁止]©2ch.net
729 :デフォルトの名無しさん[sage]:2015/12/08(火) 23:31:16.80 ID:MH5dvwqp
>>728
実行環境ぐらい書いてくれんか。

http://perldoc.jp/docs/perl/perlfaq5.pod#How32can32I32lock32a32file63
http://perldoc.jp/func/flock
http://perldoc.jp/func/sleep

#!/usr/bin/perl -w
use strict;
use Fcntl qw(:DEFAULT :flock);
my $file = './count.txt';
$|++;
sysopen my $fh, $file, O_RDWR|O_CREAT or die "can't open $file: $!";
flock $fh, LOCK_EX|LOCK_NB or die "can't flock $file: $!";
my $num = <$fh> || 0;
seek $fh, 0, 0 or die "can't rewind $file: $!";
truncate $fh, 0 or die "can't truncate $file: $!";
print "count up $num -> ", $num + 1, ', wait...';
print $fh $num + 1 or die "can't write $file: $!";
sleep 10;
close $fh or die "can't close $file: $!";
print "done.\n";
__END__

Win7だとこれで後から実行したプロセスは
can't flock ./count.txt: ブロック不可のソケット操作をすぐに完了できませんでした。 at test.p line 7.
とすぐにエラー吐いて終わる。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。