Akihiro's Programmer Blog

Technology Notes for Personal

「初めてのPerl」 第十六章

第十六章から。


第十六章 プロセス管理

内容


用語集

用語 説明
プロセス プログラムの実行単位。タスクとも呼ばれる。
シグナル プロセスへの割り込み要求。よく使うCtrl + cもINTというシグナル。


Point

Perl内でシェルコマンドを使いたい
# system関数を使えば、シェルコマンドを実行することが出来る
system 'date';

# バッククォートで囲めば出力を取り込める
my $date = `date`;

# execを使うと、Perlプロセスがコマンドを実行する
exec 'date';

# IPC::System::Simpleを使えば、system関数等が堅牢になる
systemx  'date';    # system相当
capturex 'date';    #バッククォート相当


シグナルを送る、受け取る
# シグナルはプロセスへのメッセージのようなもの
# 例えば、Ctrl + c で送られるSIGINTはデフォルトでプロセスを殺す

# プロセスIDが1111のプロセスに対してINTシグナルを送る
kill 2,     1111;
kill 'INT', 1111;
kill INT => 1111;

# 受け取る側では、受け取ったときの処理を用意出来る
sub hoge {
    die 'interrupted';
}

${'INT'} = 'hoge';


次回は

次回は第十七章から。