我需要测试以下情况:在QNX系统上运行的C程序可以打开文件但无法读取它。我的任务是确保在这种情况下程序提供正确的错误消息。 操作文件权限不起作用。
有谁知道如何模拟这种情况?非常感谢您提前
答案 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代码并测试错误处理是否正常。