在不使用外部命令的情况下,能否让Perl运行Linux操作系统函数并修改其调度和/或IO调度优先级? 我正在尝试模拟以下情况:
nice -n19 ionice -c2 -n7 cp largefile largefile2
我能否使用File::Copy、setpriority函数和CPAN模块Linux::IO_Prio来实现这个功能?我只需要降低$0的调度优先级吗?
编辑: 如果我执行以下操作,copy()的优先级和IO是否会降低?有更好的方法吗?
use Linux::IO_Prio qw(:all);
use File::Copy;
setpriority(0, 0, -20);
ionice(IOPRIO_WHO_PROCESS, $$, IOPRIO_CLASS_IDLE, 7);
copy("file1","file2") or die "Copy failed: $!";