外部コマンドなしでスケジューリングやIOスケジューリングの優先順位を変更したLinux OS機能をPerlで実行できますか?私は、次のことをシミュレートしようとしています:Perlでスケジューリングの優先順位が変更されたRunnig OS関数
nice -n19 ionice -c2 -n7 cp largefile largefile2
私は何とかファイルでこれを行うことができます::コピー、のsetpriority機能、およびCPANモジュールのLinux :: IO_Prio? $ 0のスケジューリング優先度を下げるだけでいいですか?
EDIT: 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: $!";