文件可以打开但不能读取QNX

时间:2015-02-11 09:58:34

标签: c testing readfile qnx

我需要测试以下情况:在QNX系统上运行的C程序可以打开文件但无法读取它。我的任务是确保在这种情况下程序提供正确的错误消息。 操作文件权限不起作用。

有谁知道如何模拟这种情况?非常感谢您提前

1 个答案:

答案 0 :(得分:0)

首先,您必须通过在后台运行的另一个进程锁定文件。 Perl(file_lock.pl)中的示例:

#!/usr/bin/perl
use Fcntl qw(:flock SEEK_END);
my $fh = '/file/that/needs/to/be/locked';
flock($fh, LOCK_EX) or die "Cannot lock mailbox - $!\n";
seek($fh, 0, SEEK_END) or die "Cannot seek - $!\n";
while (true) {}

在后台运行该脚本,它将锁定您需要的文件:

root@server:~# perl file_lock.pl &

然后运行您的C代码并测试错误处理是否正常。